Konzistence pravidla pro /Yc a /Yu
Při použití kompilovaných záhlaví vytvořena pomocí /Yc nebo /Yu kompilátor porovnává aktuální kompilace prostředí, který existoval při vytvoření souboru .pch.Nezapomeňte zadat prostředí v souladu s předchozí jeden (pomocí volby kompilátoru konzistentní, pragmas a podobně) pro aktuální kompilace.Kompilátor zjistí nekonzistenci, upozornění a identifikuje nekonzistencí, kde je to možné.Takové upozornění neoznačují nutně problém se souborem .pch; upozorňují jednoduše je možné konflikty.Následující části popisují požadavky konzistence předkompilovaný záhlaví.
Konzistence volba kompilátoru
Následující tabulka uvádí možnosti kompilátoru, které mohou při použití kompilovaných záhlaví nekonzistenci upozornění.
Možnost |
Název |
Pravidlo |
---|---|---|
/D |
Definovat konstanty a makra |
Musí být stejné mezi kompilace, vytvořenou předkompilovaný záhlaví a aktuální kompilace.Není zaškrtnuto políčko Stav definované konstanty, ale nepředvídatelné výsledky může dojít, jestliže soubory závisí na hodnotách změněných konstanty. |
/E nebo /EP |
Kopírovat preprocesoru informací na standardní výstup |
Záhlaví předkompilovaný nefungují s parametrem/e nebo /EP. |
/FR nebo /FR |
Generovat informace o prohlížeči Microsoft zdroje |
Možnosti /Fr a /FR s /Yu možnost platit také byla v platnosti předkompilovaný hlavičky v okamžiku vytvoření.Následné kompilací, které předkompilovaný záhlaví použít také generovat informace o zdroji prohlížeče.Informace o prohlížeči je umístěn v souboru jeden .sbr a odkazují jiné soubory stejným způsobem jako informace o znakových souborů CodeView.Nelze přepsat umístění prohlížeče zdroje informací. |
/ GA, /GD, /GE, /Gw nebo /GW |
Možnosti protokolu systému Windows |
Musí být stejné mezi kompilace, vytvořenou předkompilovaný záhlaví a aktuální kompilace.Pokud se tyto možnosti se liší, výsledky upozornění. |
/Zi |
Generuje úplné ladicí informace |
Pokud tato možnost je při vytvoření předkompilovaný hlavičky, následné kompilace, které používají individuálním nastavením pomocí ladicích informací.Pokud /Zi není platná při předkompilovaný záhlaví, následná kompilace, používající individuálním nastavením a možnost /Zi aktivace upozornění.Ladicí informace do souboru aktuální objekt a místní symboly definované v záhlaví předkompilovaný nejsou k dispozici pro ladicí program. |
[!POZNÁMKA]
Zařízení předkompilovaný záhlaví je určena pouze pro soubor se zdrojovými soubory c a C++.
Zahrnout cestu konzistence
Předkompilovaný záhlaví vytvořen s /Yc neobsahuje informace o zahrnout cestu, která byla v platnosti po vytvoření souboru .pch.Při použití souboru .pch kompilátor používá vždy zahrnout cesty zadané v aktuální kompilace.
Konzistence souboru zdroje
Při použití kompilovaných záhlaví Kompilátor ignoruje všechny direktivy předprocesoru (včetně pragmas), které se zobrazí před hdrstop pragma.Kompilace určené tyto direktivy preprocesoru musí být stejné jako kompilace použitý k vytvoření souboru předkompilovaný záhlaví.
Konzistence pragma
Pragmas, které jsou obvykle zpracovány během kompilace předkompilovaný záhlaví vliv souboru, ve kterém následně použity předkompilovaný záhlaví.Vliv pragmas následující kód do souboru .pch. neovlivní kód, který následně používá soubor .pch:
Comment (Komentář) |
stránka |
Podnadpis |
Linesize |
PAGESIZE |
Title |
Message |
Přeskočit |
|
Následující pragmas jsou zachovány jako část předkompilovaný záhlaví a vliv na zbytek kompilace, používající 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ý záhlaví