Pravidla konzistence pro použití předkompilovaných hlaviček podle souborů
/Yu možnost kompilátoru umožňuje určit, které předkompilovaného souboru hlaviček (PCH) používat.
Při použití PCH kompilátor předpokládá stejné prostředí kompilace – pomocí možnosti kompilátoru konzistentní, pragma atd, který byl ve skutečnosti při vytváření PCH, pokud neurčíte jinak.Pokud kompilátor zjistí nekonzistenci, vydá varování a identifikuje nekonzistencí, kde je to možné.Tato výstražná upozornění nemusí znamenat potíže s PCH; jednoduše upozorňují na je možné konflikty.V následujících částech jsou popsány požadavky konzistence PCHs.
Konzistence možnost kompilátoru
Při použití PCH, může vyvolat následující volby kompilátoru na nekonzistenci varování:
Makra vytvořená pomocí preprocesoru (/ D) možnost musí být mezi kompilace, vytvořený PCH a aktuální kompilace.Není kontrolován stav definované konstanty, ale neočekávané výsledky může dojít, pokud tato změna.
PCHs nelze použít s parametry/e a /EP.
PCHs musí být vytvořen pomocí buď generovat procházet informace (/ FR) možnost nebo vyloučit místní proměnné (/ Fr) možnost následných kompilací, které používají PCH mohli používat tyto možnosti.
C 7.0 kompatibilní (/ Z7)
Pokud tato možnost platí, když je vytvořen PCH, následných kompilací, které používají PCH použít ladicí informace.
Pokud C 7.0 kompatibilní (/ Z7) není ve skutečnosti při vytvoření PCH, následných kompilací, které používají PCH a /Z7 aktivovat upozornění.Informace o ladění je umístěn v aktuálním souboru obj a místní symboly definované v PCH nejsou k dispozici ladicí program.
Zahrnout cestu konzistence
PCH neobsahuje informace o zahrnout cestu, která byla v platnosti v okamžiku vytvoření.Při použití souboru .pch kompilátor používá vždy zahrnout cesty zadané v aktuální kompilace.
Zdrojový soubor konzistence
Pokud zadáte možnost Použít předkompilovaný soubor hlaviček (/Yu), kompilátor ignoruje všechny direktivy preprocesoru (včetně pragma) obsažené ve zdrojovém kódu, který bude předkompilována.Kompilace podle těchto direktiv preprocesoru musí být stejný jako kompilace pro možnost Vytvořit předkompilovaný soubor hlaviček (/Yc).
Konzistence pragma
Pragma obvykle zpracovány během vytváření PCH vliv na soubor, ke kterému PCH následně použity.Pragma komentář a zprávy nemají vliv na zbytek kompilace.
Následující pragma jsou uchovány jako součást PCH a vliv na zbývající část kompilace, který používá PCH.
alloc_text |
include_alias |
balík |
auto_inline |
init_seg |
pointers_to_members |
check_stack |
inline_depth |
setlocale |
code_seg |
inline_recursion |
vtordisp |
data_seg |
vnitřní |
upozornění |
funkce |
optimalizovat |
|
Viz také
Referenční dokumentace
Pravidla konzistence předkompilovaných hlaviček