Sdílet prostřednictvím


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

/Yc (Vytvořit předkompilovaný hlavičkový soubor)

/Yu (Použít předkompilovaný hlavičkový soubor)