Mi az az előfeldolgozó?

Általában, ha valaki egy processzorra hivatkozik a számítástechnikában, akkor valamiféle szilícium chipre gondol, amely számításokat végez. A P a CPU-ban, GPU-ban, APU-ban, NPU-ban és sok más logikai chip formájában a „feldolgozást”, azaz a központi feldolgozó egységet jelenti. Mindegyikük egy adott típusú processzor, amely az adott funkciójára van optimalizálva. Az előprocesszornak azonban semmi köze a fizikai processzorokhoz, például a CPU-hoz vagy a GPU-hoz. Ehelyett ez egy programozási kifejezés, amely kifejezetten a lefordított nyelvekre vonatkozik.

Mi az a fordító?

A fordító egy olyan szoftver, amely egy adott programozási nyelvet gépi kódba fordít. Minden programozási nyelvet gépi kóddá kell konvertálni, mivel a használható programozási nyelveket alkotó, ember által olvasható utasításokat a számítógép nem tudja közvetlenül végrehajtani. Néhányat úgy terveztek, hogy a kód futtatása közben menet közben értelmezhetők legyenek. Ez a megközelítés nagyon rugalmas, így egyszerű a kisebb változtatások elvégzése. Sok más programozási nyelvet azonban le kell fordítani, hogy végrehajtható legyen. Kisebb programokban ez nem feltétlenül tart sokáig. Nagyobb programokkal azonban a fordítás percekig vagy akár órákig is eltarthat.

Miért akarsz tehát olyan nyelvet használni, amelyet fordítani kell? Hát, nehezebb visszafejteni. Az értelmezett programozási nyelvek kódja gyakran úgy van elosztva, ahogy van, így könnyű „ellopni”. A szellemi tulajdonukat védeni kívánó vállalatok számára a fordítás egy bonyolult és megbízhatatlan visszafejtési lépést iktat be a tényleges kód megtekintéséhez. A lefordított szoftverek is általában kisebbek, mivel végrehajtásra optimalizálták. Kis szkripteknél ez nem igazán probléma, de ha nagy, több száz megabájtos vagy akár gigabájt méretű szoftverrel foglalkozunk, ennek érezhető hatása lehet.

Tehát mit csinál egy előfeldolgozó?

Az előfeldolgozó egy olyan segédprogram, amely a lefordítás előtt lefut a kódon. Általában a fordító automatikusan meghívja az előfeldolgozót az induláskor, de külön-külön is futtathatók. Az előfeldolgozó feladata, hogy pontosan úgy állítsa be a kódot, ahogyan azt tervezték. Ezt elsősorban keresési és cserefunkciók végrehajtásával teszi.

A C nyelven például bevett gyakorlat számos szabványos könyvtár használata. Ezek a könyvtárak egy sor funkciót határoznak meg, amelyek szabványos funkcionalitást biztosítanak. A könyvtárak importálásához az „#include” kulcsszót kell használni, amelyet a könyvtárnév követ. Az előfeldolgozó megkeresi a kódban az olyan utasításokat, mint az „#include”, és lecseréli azokat. Az „#include” esetén az előfeldolgozó beszúrja a megadott könyvtár teljes tartalmát.

Ez lehetővé teszi, hogy a ténylegesen megírt kód könnyen olvasható maradjon, miközben számos hatékony és már meglévő eszközt is igénybe vehet. Megkímélheti attól, hogy minden alkalmazáshoz újra fel kelljen találnia a kereket, vagy a könyvtár egy részét vagy egészét be kelljen illesztenie a kódbázisba.

Az előfeldolgozó egy másik lehetséges felhasználási területe bizonyos funkciók eltávolítása vagy hozzáadása a felépítés szándékától függően. Ha például egy új buildet szeretne tesztelni, nagyon hasznos lehet egy csomó hibakeresési lépést beiktatni. Ezekre nemcsak nincs szükség a kiadási összeállításokban, de valójában nagyobbá teszik a lefordított szoftvert. Az előfeldolgozó ellenőrizheti a fordító argumentumait, és meghatározhatja, hogy bizonyos funkciókat be kell-e venni vagy figyelmen kívül kell hagyni. Ehhez hasonlóan az előfeldolgozó általában a fordító előtt törli ki a megjegyzéseket, mivel ezeket nem szabad belefoglalni a buildbe.

Következtetés

Az előfeldolgozó egy fordító által futtatott eszköz, amely manipulálja a kódot, mielőtt az ténylegesen lefordításra kerülne. Míg az előfeldolgozó külön hívható, általában a fordítási folyamat részeként hívják. Az előfeldolgozó megkeres bizonyos meghatározott karakterláncokat, és lecseréli azokat szabványos tartalomra. A megjegyzéseknél nincs helyettesítés, de a külső könyvtárakat tartalmazó utasításoknál az előfeldolgozó az utasítást a tényleges könyvtár tartalmára cseréli. Az előfeldolgozó fordítási idő argumentumokat is használhat bizonyos funkciók kapujához. Ezt gyakran használják a hibakeresési funkciók beépítésére vagy kizárására a teszt- vagy kiadási buildekből.


Merevlemez klónozása

Merevlemez klónozása

A modern digitális korban, ahol az adatok értékes eszközök, a merevlemez klónozása Windows rendszeren sokak számára döntő fontosságú folyamat lehet. Ez az átfogó útmutató

Hogyan javítható a WUDFRd illesztőprogram betöltése a Windows 10 rendszeren?

Hogyan javítható a WUDFRd illesztőprogram betöltése a Windows 10 rendszeren?

A számítógép indításakor a hibaüzenet azt jelzi, hogy nem sikerült betölteni a WUDFRd illesztőprogramot a számítógépére?

Az NVIDIA GeForce Experience hibakód 0x0003 kijavítása

Az NVIDIA GeForce Experience hibakód 0x0003 kijavítása

Az NVIDIA GeForce tapasztalati hibakód 0x0003 az asztalon? Ha igen, olvassa el a blogot, hogy megtudja, hogyan javíthatja ki ezt a hibát gyorsan és egyszerűen.

Mi az SMPS?

Mi az SMPS?

Mielőtt SMPS-t választana számítógépéhez, ismerje meg, mi az SMPS és mit jelent a különböző hatékonysági besorolások.

Miért nem kapcsol be a Chromebookom?

Miért nem kapcsol be a Chromebookom?

Válaszokat kaphat a következő kérdésre: Miért nem kapcsol be a Chromebookom? Ebben a Chromebook-felhasználóknak szóló hasznos útmutatóban.

Az adathalász csalások bejelentése a Google-nak

Az adathalász csalások bejelentése a Google-nak

Ebből az útmutatóból megtudhatja, hogyan jelentheti be a csalókat a Google-nak, hogy megakadályozza, hogy átverjenek másokat.

A Roomba megáll, kiáll és megfordul – Javítás

A Roomba megáll, kiáll és megfordul – Javítás

Javítsa ki azt a problémát, amikor a Roomba robotporszívója leáll, beragad, és folyamatosan megfordul.

Grafikai beállítások módosítása a Steam Decken

Grafikai beállítások módosítása a Steam Decken

A Steam Deck robusztus és sokoldalú játékélményt kínál az Ön keze ügyében. Azonban a játék optimalizálása és a lehető legjobb biztosítása érdekében

Mi az elszigetelésen alapuló biztonság?

Mi az elszigetelésen alapuló biztonság?

Egy olyan témában készültek elmélyülni, amely egyre fontosabbá válik a kiberbiztonság világában: az elszigeteltségen alapuló biztonsággal. Ez a megközelítés a

Az Auto Clicker használata Chromebookhoz

Az Auto Clicker használata Chromebookhoz

Ma egy olyan eszközzel készültünk, amely képes automatizálni az ismétlődő kattintási feladatokat a Chromebookon: az Automatikus klikkelőt. Ezzel az eszközzel időt takaríthat meg és