Шта је претпроцесор?

Уопштено говорећи, када неко говори о процесору у рачунарству, мисли на неку врсту силицијумског чипа који обавља прорачуне. П у ЦПУ-у, ГПУ-у, АПУ-у, НПУ-у и многим другим облицима логичких чипова је скраћеница за “Процесирање”, односно Централну процесорску јединицу. Сваки од њих је специфичан тип процесора, оптимизован за своју специфичну функцију. Предпроцесор, међутим, нема никакве везе са физичким процесорима као што су ЦПУ или ГПУ. Уместо тога, то је програмски термин, који се посебно односи на компајлиране језике.

Шта је компајлер?

Компајлер је део софтвера који компајлира одређени програмски језик у машински код. Сви програмски језици треба да се конвертују у машински код, пошто човеку читљиве инструкције које чине употребљиве програмске језике нису директно извршне од стране рачунара. Неки су дизајнирани да се тумаче у ходу када се код покреће. Овај приступ је веома флексибилан што олакшава уношење мањих промена. Многи други програмски језици, међутим, морају бити компајлирани да би могли да се изврше. У малим програмима ово не мора да траје дуго. Међутим, са већим програмима, компилација може трајати неколико минута или чак сати.

Па зашто бисте желели да користите језик који треба компајлирати? Па, теже је обрнути инжењеринг. Интерпретирани програмски језици често имају свој код дистрибуиран какав јесте, што га чини лаким за „крађу“. За компаније које желе да заштите своју интелектуалну својину, компајлирање умеће сложен и непоуздан корак обрнутог инжењеринга да би видели стварни код. Преведени софтвер такође има тенденцију да буде мањи, јер је оптимизован за извршење. Ово заправо није проблем са малим скриптама, али када се ради о великом софтверу, величине стотина мегабајта или чак гигабајта, ово може имати приметан ефекат.

Дакле, шта ради предпроцесор?

Претпроцесор је услужни програм који се покреће преко кода пре него што се компајлира. Обично ће компајлер аутоматски позвати претпроцесор када се покрене, међутим, они се такође могу покренути одвојено. Задатак претпроцесора је да постави код тачно онако како је предвиђено. То првенствено ради обављањем функција претраге и замене.

У Ц, на пример, стандардна је пракса да се користи велики број стандардних библиотека. Ове библиотеке дефинишу низ функција које пружају стандардну функционалност. За увоз ових библиотека користи се кључна реч „#инцлуде“ праћена именом библиотеке. Предпроцесор претражује у коду изразе попут „#инцлуде“ и замењује их. У случају „#инцлуде“ предпроцесор убацује цео садржај наведене библиотеке.

Ово вам омогућава да писани код буде лако читљив, а да истовремено користите многе моћне и већ постојеће алате. То вас штеди од потребе да поново измишљате точак за сваку апликацију или да налепите део или целу библиотеку у базу кода.

Још једна потенцијална употреба претпроцесора је уклањање или додавање одређене функционалности у зависности од намере изградње. На пример, ако желите да тестирате нову верзију, може бити заиста корисно укључити гомилу корака за отклањање грешака. Не само да они нису потребни у верзијама издања, већ заправо чине компајлирани софтвер већим. Претпроцесор може да провери аргументе компајлера и утврди да ли одређене функционалности треба да буду укључене или игнорисане. Слично овоме, претпроцесор обично уклања коментаре пре компајлера, јер они не би требало да буду укључени у градњу.

Закључак

Претпроцесор је алатка коју покреће компајлер да манипулише кодом пре него што се он стварно компајлира. Док се претпроцесор може позвати засебно, он се обично позива као део процеса компилације. Претпроцесор тражи одређене дефинисане низове и замењује их стандардним садржајем. За коментаре нема замене, али за изразе који укључују екстерне библиотеке, претпроцесор замењује израз садржајем стварне библиотеке. Претпроцесор такође може узети аргументе у време компајлирања да би отворио одређену функционалност. Ово се често користи за укључивање или искључивање функционалности за отклањање грешака из тестних или изданих верзија.


Шта је СМПС?

Шта је СМПС?

Сазнајте шта је СМПС и значење различитих оцена ефикасности пре него што изаберете СМПС за свој рачунар.

Зашто се мој Цхромебоок не укључује

Зашто се мој Цхромебоок не укључује

Добијте одговоре на питање Зашто се мој Цхромебоок не укључује? У овом корисном водичу за кориснике Цхромебоок-а.

Како пријавити преваре у вези са „пецањем“ Гоогле-у

Како пријавити преваре у вези са „пецањем“ Гоогле-у

Научите како да пријавите преваранта Гоогле-у да бисте га спречили да превари друге помоћу овог водича.

Роомба се зауставља, држи и окреће – поправите

Роомба се зауставља, држи и окреће – поправите

Решите проблем где се ваш Роомба робот усисивач зауставља, лепи и стално се окреће.

Како променити подешавања графике на Стеам Децк-у

Како променити подешавања графике на Стеам Децк-у

Стеам Децк нуди робусно и разноврсно искуство играња на дохват руке. Међутим, да бисте оптимизовали своје игре и осигурали најбоље могуће

Шта је безбедност заснована на изолацији?

Шта је безбедност заснована на изолацији?

Хтели смо да уђемо у тему која постаје све важнија у свету сајбер безбедности: безбедност заснована на изолацији. Овај приступ ка

Како се користи аутоматски кликер за Цхромебоок

Како се користи аутоматски кликер за Цхромебоок

Данас смо хтели да уђемо у алатку која може да аутоматизује понављајуће задатке кликања на вашем Цхромебоок-у: Ауто Цлицкер. Овај алат вам може уштедети време и

Како променити бројчаник сата на Фитбит Верса 4

Како променити бројчаник сата на Фитбит Верса 4

Промените бројчаник сата свог Фитбит Верса 4 да бисте свом сату дали другачији изглед сваки дан бесплатно. Погледајте како је брзо и лако.

Како уклонити ГПУ са Виндовс рачунара у 2023

Како уклонити ГПУ са Виндовс рачунара у 2023

Да ли треба да уклоните ГПУ са рачунара? Придружите ми се док објашњавам како да уклоните ГПУ са рачунара у овом водичу корак по корак.

Шта је сурфовање раменима?

Шта је сурфовање раменима?

Сурфовање раменима је класа напада социјалног инжењеринга. То укључује нападач који прикупља информације гледајући у ваш екран.