Pravidla konzistence pro /Yc a /Yu
Při použití předkompilovaných hlaviček vytvořených pomocí /Yc nebo /Yu kompilátor porovnává aktuální kompilace prostředí na ten, který existoval, když jste vytvořili soubor .pch.Je nutné zadat odpovídající předchozímu (pomocí možnosti kompilátoru konzistentní, pragma atd.) pro aktuální kompilace prostředí.Pokud kompilátor zjistí nekonzistenci, vydá varování a identifikuje nekonzistencí, kde je to možné.Tato výstražná upozornění neoznačují nutně problém se souborem .pch; jednoduše upozorňují na je možné konflikty.Následující části popisují požadavky konzistence pro předkompilované hlavičky.
Konzistence možnost kompilátoru
V následující tabulce jsou uvedeny možnosti kompilátoru, které mohou být aktivována na nekonzistenci varování při použití předkompilovaných hlaviček.
Možnost |
Name |
Pravidlo |
---|---|---|
/D |
Definovat konstanty a makra |
Musí být stejné mezi kompilace, kterou vytvořili předkompilované hlavičky a aktuální kompilace.Není kontrolován stav definované konstanty, ale neočekávané výsledky může dojít, pokud soubory závisí na hodnotách změněných konstant. |
/E nebo /EP |
Kopie preprocesoru výstup do standardního výstupu |
Předkompilovaná záhlaví nelze použít s parametrem/e nebo /EP. |
/FR nebo /FR |
Generovat informace o prohlížeči Microsoft zdroje |
Možnosti /Fr a /FR /Yu možnost platit musí také byly ve skutečnosti předkompilované hlavičky v okamžiku vytvoření.Následných kompilací, které používají předkompilované hlavičky generovat také prohlížeč zdroje informací.Informace o prohlížeči je umístěn v souboru jednoho .sbr a odkazují jiné soubory stejným způsobem jako CodeView informace.Nelze přepsat umístění prohlížeče zdroj informací. |
/ GA, /GD, /GE, /Gw nebo /GW |
Možnosti protokolu systému Windows |
Musí být stejné mezi kompilace, kterou vytvořili předkompilované hlavičky a aktuální kompilace.Pokud tyto možnosti se liší, výsledky upozornění. |
/Zi |
Generování úplné ladicí informace |
Pokud tato možnost platí, když je vytvořen předkompilované hlavičky, následných kompilací, které používají předkompilaci pomocí ladicích informací.Pokud /Zi není ve skutečnosti při vytvoření předkompilované hlavičky, následných kompilací, které používají předkompilaci a /Zi možnost aktivovat upozornění.Informace o ladění je umístěn v aktuálním souboru objektu a místní symboly definované v předkompilované hlavičky nejsou k dispozici ladicí program. |
[!POZNÁMKA]
Předkompilované hlavičky zařízení je určen pouze pro použití v souboru se zdrojovými soubory jazyka C a C++.
Zahrnout cestu konzistence
Předkompilované hlavičky vytvořené pomocí /Yc neobsahuje informace o zahrnout cestu, která byla v platnosti při vytvoření souboru .pch.Při použití souboru .pch kompilátor používá vždy zahrnout cesty zadané v aktuální kompilace.
Zdrojový soubor konzistence
Při použití předkompilovaných hlaviček Kompilátor ignoruje všechny direktivy preprocesoru (včetně pragma), které se objeví před hdrstop pragma.Kompilace podle těchto direktiv preprocesoru musí být stejný jako kompilace použitém k vytvoření souboru předkompilované hlavičky.
Konzistence pragma
Obvykle zpracovány během kompilace předkompilované záhlaví Pragma vliv na soubor, ve kterém následně použita předkompilovaná hlavička.Následující pragma ovlivní pouze kód v souboru .pch; neovlivní kód, který používá následně .pch souboru:
Komentář |
stránky |
Podnadpis |
Linesize |
PageSize |
Title |
Message |
Přeskočit |
|
Následující pragma jsou uchovány jako součást předkompilované hlavičky a vliv na zbývající část kompilace, která používá předkompilovaný záhlaví:
alloc_text |
funkce |
optimalizovat |
auto_inline |
inline_depth |
Pack |
check_pointer |
inline_recursion |
same_seg |
check_stack |
vnitřní |
upozornění |
code_seg |
loop_opt |
|
data_seg |
native_caller |
|
Viz také
Referenční dokumentace
Pravidla konzistence předkompilovaných hlaviček