Що таке препроцесор?

Зазвичай, коли хтось говорить про процесор в обчислювальній техніці, вони мають на увазі якийсь кремнієвий чіп, який виконує обчислення. Буква P у CPU, GPU, APU, NPU та багатьох інших формах логічних чіпів означає «процесор», тобто центральний процесор. Кожен із них є певним типом процесора, оптимізованим для певної функції. Однак препроцесор не має нічого спільного з фізичними процесорами, такими як CPU або GPU. Натомість це термін програмування, який стосується скомпільованих мов.

Що таке компілятор?

Компілятор — це частина програмного забезпечення, яка компілює певну мову програмування в машинний код. Усі мови програмування потрібно перетворити на машинний код, оскільки зрозумілі людині інструкції, які складають придатні для використання мови програмування, не можуть безпосередньо виконуватися комп’ютером. Деякі з них призначені для інтерпретації на льоту під час виконання коду. Цей підхід є дуже гнучким, тому легко вносити незначні зміни. Однак багато інших мов програмування потребують компіляції, щоб їх можна було виконувати. У невеликих програмах це не обов’язково займає багато часу. Однак для великих програм компіляція може тривати хвилини або навіть години.

Тож навіщо вам використовувати мову, яка потребує компіляції? Що ж, важче провести зворотне проектування. Код інтерпретованих мов програмування часто розповсюджується як є, що полегшує «красти». Для компаній, які хочуть захистити свою інтелектуальну власність, компіляція вставляє складний і ненадійний етап зворотного проектування, щоб побачити фактичний код. Зібране програмне забезпечення також має тенденцію бути меншим, оскільки воно було оптимізоване для виконання. Це насправді не проблема з маленькими сценаріями, але при роботі з великим програмним забезпеченням, розміром у сотні мегабайт або навіть гігабайт, це може мати помітний ефект.

Отже, що робить препроцесор?

Препроцесор — це утиліта, яка виконується над кодом перед його компіляцією. Як правило, компілятор автоматично викликає препроцесор під час запуску, однак їх також можна запускати окремо. Завдання препроцесора полягає в тому, щоб налаштувати код саме так, як це передбачено. В першу чергу це робиться шляхом виконання функцій пошуку та заміни.

У C, наприклад, стандартною практикою є використання кількох стандартних бібліотек. Ці бібліотеки визначають низку функцій, які забезпечують стандартну функціональність. Щоб імпортувати ці бібліотеки, використовується ключове слово «#include», за яким слідує назва бібліотеки. Препроцесор шукає в коді такі оператори, як «#include», і замінює їх. У випадку «#include» препроцесор вставляє весь вміст зазначеної бібліотеки.

Це дозволяє зберегти фактично написаний код легким для читання, а також використовувати багато потужних і існуючих інструментів. Це позбавляє вас від необхідності винаходити колесо для кожної програми або від необхідності вставляти частину або всю бібліотеку в базу коду.

Іншим потенційним використанням препроцесора є видалення або додавання певної функціональності залежно від мети збірки. Наприклад, якщо ви хочете протестувати нову збірку, може бути дуже корисно включити низку кроків для налагодження. Вони не тільки не потрібні в збірках випусків, але вони фактично роблять скомпільоване програмне забезпечення більшим. Препроцесор може перевіряти аргументи компілятора та визначати, чи потрібно включати певні функції чи ігнорувати їх. Подібно до цього, препроцесор зазвичай видаляє коментарі перед компілятором, оскільки вони не повинні включатися в збірку.

Висновок

Препроцесор — це інструмент, який запускається компілятором для маніпулювання кодом перед його фактичною компіляцією. Хоча препроцесор можна викликати окремо, зазвичай він викликається як частина процесу компіляції. Препроцесор шукає певні визначені рядки та замінює їх стандартним вмістом. Для коментарів немає заміни, але для операторів, які включають зовнішні бібліотеки, препроцесор замінює оператор вмістом фактичної бібліотеки. Препроцесор також може приймати аргументи під час компіляції для доступу до певних функцій. Це часто використовується для включення або виключення функції налагодження з тестових чи випускних збірок.


Leave a Comment

Що робити, якщо Powerbeats Pro не заряджається у чохлі

Що робити, якщо Powerbeats Pro не заряджається у чохлі

Якщо ваші Powerbeats Pro не заряджаються, скористайтеся іншим джерелом живлення та очистіть навушники. Залиште кейс відкритим під час заряджання навушників.

Як встановити SSD-накопичувач на настільні та портативні ПК

Як встановити SSD-накопичувач на настільні та портативні ПК

Ви щойно купили SSD-накопичувач, сподіваючись оновити внутрішню пам'ять свого ПК, але не знаєте, як його встановити? Прочитайте цю статтю зараз!

Чи можна довіряти функціям конфіденційності Oculus Quest 2?

Чи можна довіряти функціям конфіденційності Oculus Quest 2?

Якщо ви хвилюєтеся, що ваші дані будуть передані іншим особам, ось що вам потрібно знати про налаштування конфіденційності Oculus Quest 2.

Як виправити код помилки GeForce Now 0xC272008F

Як виправити код помилки GeForce Now 0xC272008F

Ви готуєтесь до ігрового вечора, і це буде грандіозний вечір – ви щойно придбали «Зоряні війни: Злочинці» на потоковому сервісі GeForce Now. Відкрийте для себе єдиний відомий спосіб виправлення помилки GeForce Now з кодом 0xC272008F, щоб ви могли знову грати в ігри Ubisoft.

Як підключити ноутбук з Windows 11 до проектора/телевізора

Як підключити ноутбук з Windows 11 до проектора/телевізора

Прочитайте цю статтю, щоб дізнатися про простий покроковий процес підключення ноутбука до проектора або телевізора в ОС Windows 11 та Windows 10.

Як замінити батарейки в контролерах Oculus Quest 2

Як замінити батарейки в контролерах Oculus Quest 2

Якщо ви хочете продовжувати грати, важливо знати, як замінити батарейки на контролері Oculus Quest 2.

5 причин, чому ваш ноутбук перегрівається

5 причин, чому ваш ноутбук перегрівається

Дізнайтеся про деякі можливі причини перегріву ноутбука, а також поради та підказки, як уникнути цієї проблеми та зберегти пристрій охолодженим.

Все про iOS 26

Все про iOS 26

Apple представила iOS 26 – велике оновлення з абсолютно новим дизайном з матового скла, розумнішими можливостями та покращеннями звичних програм.

Найкращі ноутбуки для студентів у 2025 році

Найкращі ноутбуки для студентів у 2025 році

Студентам потрібен певний тип ноутбука для навчання. Він має бути не лише достатньо потужним для успішного навчання за обраною спеціальністю, але й компактним і легким, щоб носити його з собою цілий день.

Як відновити доступ до жорсткого диска, виправити помилку неможливості відкрити жорсткий диск

Як відновити доступ до жорсткого диска, виправити помилку неможливості відкрити жорсткий диск

У цій статті ми розповімо вам, як відновити доступ до жорсткого диска, якщо він вийшов з ладу. Давайте продовжимо!