Какво е препроцесор?

Като цяло, когато някой говори за процесор в изчисленията, те имат предвид някакъв силиконов чип, който извършва изчисления. P в CPU, GPU, APU, NPU и много други форми на логически чипове означава „обработка“, т.е. централен процесор. Всеки от тях е специфичен тип процесор, оптимизиран за специфичната си функция. Препроцесорът обаче няма нищо общо с физическите процесори като CPU или GPU. Вместо това, това е термин за програмиране, специално свързан с компилирани езици.

Какво е компилатор?

Компилаторът е част от софтуера, който компилира специфичен език за програмиране в машинен код. Всички езици за програмиране трябва да бъдат преобразувани в машинен код, тъй като четливите за човека инструкции, които съставляват използваемите езици за програмиране, не са директно изпълними от компютъра. Някои са предназначени да се интерпретират в движение, когато кодът се изпълнява. Този подход е много гъвкав, което улеснява извършването на малки промени. Много други езици за програмиране обаче трябва да бъдат компилирани, за да могат да бъдат изпълнени. В малките програми това не отнема непременно много време. При по-големи програми обаче компилирането може да отнеме минути или дори часове.

Така че защо искате да използвате език, който се нуждае от компилиране? Е, по-трудно е да се направи обратно инженерство. Интерпретираните езици за програмиране често имат техния код, разпространяван така, както е, което улеснява „кражбата“. За компании, които искат да защитят своята интелектуална собственост, компилирането вмъква сложна и ненадеждна стъпка на обратно инженерство, за да видите действителния код. Компилираният софтуер също има тенденция да бъде по-малък, тъй като е оптимизиран за изпълнение. Това всъщност не е проблем с малки скриптове, но когато се работи с голям софтуер, стотици мегабайти или дори гигабайти по размер, това може да има забележим ефект.

И така, какво прави препроцесорът?

Препроцесорът е помощна програма, която се изпълнява върху код, преди да бъде компилиран. Обикновено компилаторът автоматично ще извика препроцесора, когато стартира, но те могат да се изпълняват и отделно. Задачата на препроцесора е да настрои кода точно както е предназначен. Основно прави това, като изпълнява функции за търсене и замяна.

В C, например, е стандартна практика да се използват няколко стандартни библиотеки. Тези библиотеки дефинират серия от функции, които осигуряват стандартна функционалност. За импортиране на тези библиотеки се използва ключовата дума „#include“, последвана от име на библиотека. Препроцесорът търси в кода изрази като „#include“ и ги замества. В случай на “#include” препроцесорът вмъква цялото съдържание на посочената библиотека.

Това ви позволява да запазите действително написания код лесно четим, като същевременно използвате много мощни и съществуващи инструменти. Това ви спестява от необходимостта да преоткривате колелото за всяко приложение или от необходимостта да поставите част или цялата библиотека в кодовата база.

Друга потенциална употреба на препроцесор е премахването или добавянето на определена функционалност в зависимост от намерението на компилацията. Например, ако искате да тествате нова компилация, може да бъде наистина полезно да включите куп стъпки за отстраняване на грешки. Те не само не са необходими в версиите на версията, но всъщност правят компилирания софтуер по-голям. Препроцесорът може да провери аргументите на компилатора и да определи дали определена функционалност трябва да бъде включена или игнорирана. Подобно на това, препроцесорът обикновено премахва коментарите преди компилатора, тъй като те не трябва да се включват в компилация.

Заключение

Препроцесорът е инструмент, управляван от компилатор за манипулиране на кода, преди той действително да бъде компилиран. Докато препроцесорът може да се извика отделно, той обикновено се извиква като част от процеса на компилиране. Препроцесорът търси определени дефинирани низове и ги замества със стандартно съдържание. За коментари няма замяна, но за изрази, които включват външни библиотеки, препроцесорът замества израза със съдържанието на действителната библиотека. Препроцесорът може също така да приема аргументи по време на компилиране, за да активира определена функционалност. Това често се използва за включване или изключване на функционалност за отстраняване на грешки от компилации за тестване или освобождаване.


Leave a Comment

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Основи на 3D печатањето: Совети за одржување на вашиот 3D принтер

Држењето на вашите 3D принтери е многу важно за добивање на најдобри резултати. Еве некои важни совети за да се освежите.

5 Причини Защо Вашият Лаптоп Прегрява

5 Причини Защо Вашият Лаптоп Прегрява

Разберете някои от възможните причини, поради които вашият лаптоп прегрява, както и съвети и трикове за избягване на този проблем и поддържане на устройството хладно.

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Основи на 3D печатането: Неправилник за поддръжка, който трябва да прочетете

Поддържането на вашето оборудване в добро състояние е задължително. Ето някои полезни съвети, за да поддържате 3D принтера си в отлично състояние.

Как да намерите IP адреса на принтера

Как да намерите IP адреса на принтера

Имаме решение за вас как да откриете IP адреса на вашия принтер, ако имате проблеми с това.

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Какво да правите, ако Powerbeats Pro не се зареждат в кутията

Ако вашите Powerbeats Pro не се зареждат, използвайте друг източник на захранване и почистете слушалките. Оставете кутията отворена, докато зареждате слушалките.

Как да използвате AirPods с телефони Samsung

Как да използвате AirPods с телефони Samsung

Ако не сте сигурни дали да закупите AirPods за вашия телефон Samsung, това ръководство определено ще помогне. Най-очевидният въпрос е дали двете устройства са

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

10 Най-добри NAS устройства за съхранение за дома и професионална употреба

Ако търсите NAS за вашия дом или офис, разгледайте този списък с най-добрите устройства за NAS съхранение.

Canon Pixma MG5220: Сканирайте без мастило

Canon Pixma MG5220: Сканирайте без мастило

Как да активирате сканирането на Canon Pixma MG5220, когато мастилото е свършило.

Как да инсталираме SSD на настолни и лаптоп компютри

Как да инсталираме SSD на настолни и лаптоп компютри

Току-що ли купихте SSD в надеждата да обновите вътрешната памет на компютър си, но не знаете как да инсталирате SSD? Прочетете тази статия сега!

Как да поправите грешка GeForce Now с код 0xC272008F

Как да поправите грешка GeForce Now с код 0xC272008F

Настройвате се за вечер на игри и тя ще бъде голяма – току-що закупихте "Star Wars Outlaws" в стрийминг услугата GeForce Now. Открийте единственото известно решение, което показва как да поправите грешката GeForce Now с код 0xC272008F, за да можете отново да започнете да играете игри на Ubisoft.