Co je podmíněná kompilace?

V počítačovém programování popisuje podmíněná kompilace schopnost kompilátoru softwaru nebo procesoru zdrojového kódu zahrnout nebo ignorovat určité příkazy nebo bloky kódu na základě jazykově specifických pokynů, které nejsou technicky součástí základní specifikace programovacího jazyka. Příkazy, které se používají ke spuštění podmíněné kompilace v programu, se často nazývají pre-procesorové směrnice, ačkoli jsou také známé jako směrnice kompilátoru, podmíněné komentáře nebo podmíněné definice. V závislosti na použitém kompilátoru nebo jazyku mohou být podmíněné směrnice být uživatelsky definované proměnné nebo makra, nebo by to mohly být také systémové proměnné nastavené kompilátorem nebo operačním systémem. Podmíněná kompilace se často používá k konfiguraci jedné sady souborů zdrojového kódu, aby mohly být kompilovány v různých prostředích nebo operačních systémech, aniž by musely vyměňovat nebo měnit zdrojové soubory.Ilalace se může lišit od jednoho jazyka k druhému, ale obecně se jedná o makra nebo jiné výrazy meta-dat mimo rozsah normálních proměnných programů. V jazycích, jako je C, jsou proměnné obvykle makra, která jsou čtena předprocesorem. Makra většinou nejsou přístupná skutečným spustitelným zdrojovým kódem programu, i když existují ve stejných zdrojových souborech.

Směrnice, které se používají k testování definovaných podmíněných proměnných, jsou základní a sledují stejnou logiku jako příkaz if-then. Základní testy, které lze provést pro podmíněnou kompilaci, jsou to, zda je definována hodnota, není definována, nebo v některých případech, zda jsou dvě definované proměnné ekvivalentní. Samotné proměnné nebo makra obecně nemají žádnou hodnotu významnosti, protože akt jejich definování je to, co směrnice kontrolují. S některými jazyky a kompilátory však tHodnota definované proměnné může záležet na tom, zda jsou hodnoceny pro booleovský stav.

Když se směrnice o směrnicech kompilátoru setkávají s podmíněným kompilací, jsou směrnice vyhodnoceny, aby zjistily, zda testují jako pravdivé nebo nepravdivé. Pokud je to pravda, kód, který sleduje směrnici, je kompilován jako normální; Jinak kompilátor zcela přeskočí kód obsažený ve směrnici. To je na rozdíl od podmíněných logických příkazů v samotném spustitelném programovém kódu, protože i když má logika blok kódu, který nelze provést, bude ve většině případů stále interpretován a kompilován. U podmíněných předprocesorových směrnic není přeskočený kód nikdy zahrnut, interpretován ani kompilován. Rovněž je třeba poznamenat, že jakmile předprocesor vyhodnotí všechny podmíněné proměnné a směrnice, nejsou sestaveny se zbytkem programu, protože jsou určeny pouze k tomu, aby kompilátoři poskytli směr.

Podmíněná kompilace se nejčastěji používá t to Zahrnout nebo vyloučit kód, který je specifický pro konkrétní operační systém nebo prostředí. To znamená, že knihovny, které existují v jednom operačním systému, mohou být podmíněny, pokud směrnice určují, že program je kompilován v tomto operačním systému. Alternativně lze směrnice také použít k zahrnutí nebo vyloučení kódu na základě uživatelsky definovaných proměnných. To lze provést tak, že ladění nebo profilovací kód není zahrnut do konečné verze programu, nebo tak lze určité funkce povolit nebo deaktivovat, aniž by bylo nutné udržovat samostatné kopie kódu.

JINÉ JAZYKY

Pomohl vám tento článek? Děkuji za zpětnou vazbu Děkuji za zpětnou vazbu

Jak můžeme pomoci? Jak můžeme pomoci?