Co je to preprocesor?

Obecně, když někdo odkazuje na procesor ve výpočetní technice, myslí tím nějaký křemíkový čip, který provádí výpočty. P v CPU, GPU, APU, NPU a mnoha dalších formách logických čipů je zkratka pro „Processing“, tedy centrální procesorovou jednotku. Každý z nich je specifický typ procesoru, optimalizovaný pro jeho specifickou funkci. Preprocesor však nemá nic společného s fyzickými procesory, jako je CPU nebo GPU. Místo toho je to programovací termín, který se konkrétně týká kompilovaných jazyků.

Co je to kompilátor?

Kompilátor je část softwaru, která zkompiluje konkrétní programovací jazyk do strojového kódu. Všechny programovací jazyky je třeba převést na strojový kód, protože člověkem čitelné instrukce, které tvoří použitelné programovací jazyky, nejsou přímo spustitelné počítačem. Některé jsou navrženy tak, aby byly interpretovány za běhu, když je kód spuštěn. Tento přístup je velmi flexibilní a usnadňuje provádění drobných změn. Mnoho dalších programovacích jazyků však musí být zkompilováno, aby je bylo možné spustit. V malých programech to nemusí nutně trvat dlouho. U větších programů však může kompilace trvat minuty nebo dokonce hodiny.

Proč byste tedy chtěli používat jazyk, který potřebuje kompilaci? No, reverzní inženýrství je těžší. Interpretované programovací jazyky mají často svůj kód distribuovaný tak, jak je, takže je snadné „ukrást“. Pro společnosti, které cht��jí chránit své duševní vlastnictví, představuje kompilace vložek složitý a nespolehlivý krok zpětného inženýrství, aby viděli skutečný kód. Kompilovaný software také bývá menší, protože byl optimalizován pro provádění. U malých skriptů to ve skutečnosti není problém, ale při práci s velkým softwarem o velikosti stovek megabajtů nebo dokonce gigabajtů to může mít znatelný efekt.

Co tedy preprocesor dělá?

Preprocesor je obslužný program, který je spuštěn přes kód před jeho kompilací. Kompilátor obvykle automaticky zavolá preprocesor při spuštění, lze je však spustit i samostatně. Úkolem preprocesoru je nastavit kód přesně podle plánu. Primárně to dělá prováděním funkcí vyhledávání a nahrazování.

Například v C je standardní praxí používat řadu standardních knihoven. Tyto knihovny definují řadu funkcí, které poskytují standardní funkce. K importu těchto knihoven se používá klíčové slovo „#include“ následované názvem knihovny. Preprocesor vyhledá v kódu příkazy jako „#include“ a nahradí je. V případě „#include“ preprocesor vloží celý obsah zadané knihovny.

To vám umožňuje udržovat skutečně napsaný kód snadno čitelný a zároveň využívat mnoho výkonných a již existujících nástrojů. Ušetří vám to nutnost znovu vynalézat kolo pro každou aplikaci nebo vkládat některé nebo všechny knihovny do základny kódu.

Dalším potenciálním využitím preprocesoru je odstranění nebo přidání určitých funkcí v závislosti na záměru sestavení. Například, pokud chcete otestovat nové sestavení, může být opravdu užitečné zahrnout spoustu kroků ladění. Nejen, že tyto nejsou potřeba v sestaveních vydání, ale ve skutečnosti dělají kompilovaný software větší. Preprocesor může zkontrolovat argumenty kompilátoru a určit, zda je třeba zahrnout nebo ignorovat určité funkce. Podobně jako toto, preprocesor obvykle odstraní komentáře před kompilátorem, protože by neměly být součástí sestavení.

Závěr

Preprocesor je nástroj spouštěný kompilátorem, který manipuluje s kódem předtím, než se skutečně zkompiluje. Zatímco preprocesor lze volat samostatně, obvykle se volá jako součást procesu kompilace. Preprocesor hledá určité definované řetězce a nahrazuje je standardním obsahem. Pro komentáře neexistuje žádná náhrada, ale pro příkazy, které obsahují externí knihovny, preprocesor nahradí příkaz obsahem skutečné knihovny. Preprocesor může také převzít argumenty v době kompilace, aby hradil určitou funkčnost. To se často používá k zahrnutí nebo vyloučení funkcí ladění z testovacích nebo vydání sestavení.


Leave a Comment

10 Nejlepších NAS zařízení pro ukládání dat pro domácí a profesionální použití

10 Nejlepších NAS zařízení pro ukládání dat pro domácí a profesionální použití

Ať už hledáte NAS pro váš domov nebo kancelář, podívejte se na tento seznam nejlepších NAS zařízení pro ukládání dat.

Základy 3D tisku: Tipy na údržbu vaší 3D tiskárny

Základy 3D tisku: Tipy na údržbu vaší 3D tiskárny

Údržba vašich 3D tiskáren je velmi důležitá pro dosažení nejlepších výsledků. Zde jsou některé důležité tipy, které je dobré mít na paměti.

Jak připojit notebook s Windows 11 k projektoru/TV

Jak připojit notebook s Windows 11 k projektoru/TV

Přečtěte si tento článek, abyste se dozvěděli jednoduchý krok za krokem proces, jak připojit notebook k projektoru nebo TV v OS Windows 11 a Windows 10.

Jak opravit kód chyby GeForce Now 0xC272008F

Jak opravit kód chyby GeForce Now 0xC272008F

Připravujete se na večer her a bude to velké - právě jste si pořídili hru „Star Wars Outlaws“ na streamovací službě GeForce Now. Objevte jediný známý způsob, jak opravit kód chyby GeForce Now 0xC272008F, abyste mohli znovu hrát hry od Ubisoftu.

5 Důvodů, Proč Se Váš Notebook Přehřívá

5 Důvodů, Proč Se Váš Notebook Přehřívá

Zjistěte některé možné důvody, proč se váš notebook přehřívá, spolu s tipy a triky, jak tento problém vyřešit a udržet své zařízení v chladu.

Základy 3D tisku: Kontrolní seznam údržby, který si musíte přečíst

Základy 3D tisku: Kontrolní seznam údržby, který si musíte přečíst

Udržování vašeho vybavení v dobrém stavu je nezbytné. Zde jsou některé užitečné tipy, jak udržet váš 3D tiskárnu v nejlepším stavu.

Jak nainstalovat SSD na desktop a notebooky

Jak nainstalovat SSD na desktop a notebooky

Právě jste zakoupili SSD a chtěli byste upgradovat interní úložiště svého počítače, ale nevíte, jak SSD nainstalovat? Přečtěte si tento článek nyní!

Canon Pixma MG5220: Skenování bez inkoustu

Canon Pixma MG5220: Skenování bez inkoustu

Jak povolit skenování na Canon Pixma MG5220, když dojde inkoust.

Jak najít IP adresu tiskárny

Jak najít IP adresu tiskárny

Máte problémy s nalezením IP adresy tiskárny? Ukážeme vám, jak ji najít.

Jak používat AirPods s telefony Samsung

Jak používat AirPods s telefony Samsung

Pokud si nejste jisti, zda koupit AirPods pro váš telefon Samsung, tento průvodce vám může pomoci. Nejvíce evidentní otázka je, zda jsou obě zařízení kompatibilní, a odpověď je: Ano, jsou!