Spójność zasady użytkowania-File wstępnie skompilowana nagłówków
/Yu opcję kompilatora pozwala określić, które wstępnie skompilowana plik nagłówka (PCH) do użycia.
Gdy używasz PCH, kompilator zakłada tego samego środowiska kompilacji — za pomocą opcji kompilatora spójne, pragmas i tak dalej — które obowiązywały podczas tworzenia PCH, chyba że określono inaczej.Jeśli kompilator wykryje niespójność, wyświetli ostrzeżenie i identyfikuje niespójność w przypadku, gdy jest to możliwe.Takie ostrzeżenia nie wskazują problemu z PCH; one po prostu ostrzegać o potencjalnych konfliktów.Spójności wymagania dotyczące PCHs są opisane w następnych sekcjach.
Spójność opcji kompilatora
Ostrzeżenie o niezgodności mogą wyzwolić następujące opcje kompilatora, używając PCH:
Makra utworzone za pomocą preprocesora (/ D) opcja musi być taka sama, między kompilacji, utworzony PCH i bieżącej kompilacji.Państwo zdefiniowanych stałych nie jest zaznaczone, ale nieprzewidywalne skutki może wystąpić, jeśli te zmiany.
PCHs, które nie działają z opcjami /E i /EP.
PCHs musi być utworzony przy użyciu albo wygenerować przeglądać informacje (/ FR) Opcja lub wykluczyć zmiennych lokalnych (/ Fr) Opcja przed kolejne kompilacje, które używają PCH można użyć tych opcji.
C zgodny 7.0 (/ Z7)
Jeśli opcja ta obowiązuje podczas tworzenia PCH, kolejne kompilacje, które używają PCH można użyć informacji debugowania.
Jeśli c zgodny 7.0 (/ Z7) opcja nie zostaną wprowadzone po utworzeniu PCH, kolejne kompilacje, używające PCH i /Z7 wyzwalać ostrzeżenie.Informacje debugowania są umieszczane w bieżącym pliku .obj i lokalnych symboli zdefiniowanych w PCH nie są dostępne dla debugera.
Zawiera ścieżkę spójności
PCH nie zawiera informacje o ścieżce include, który obowiązywał w momencie jego utworzenia.Można użyć pliku .pch, kompilator zawsze używa dołączana ścieżka określona w bieżącej kompilacji.
Spójność plików źródłowych
Po określeniu opcji Użyj wstępnie skompilowana nagłówka pliku (/Yu), kompilator ignoruje wszystkie dyrektywy preprocesora (w tym pragmas), które pojawiają się w kodzie źródłowym, który będzie się wstępnie skompilowana.Kompilacja, określonych przez dyrektywy preprocesora, takie musi być taka sama, jak kompilacji używane dla opcji Utwórz wstępnie skompilowana nagłówka pliku (/Yc).
Spójność pragma
Pragmas przetwarzane podczas tworzenia PCH zazwyczaj wpływać na pliku, z którym jest następnie użyty PCH.Pragmas komentarz i wiadomości nie wpływają na pozostałą część kompilacji.
Pragmas następujące są zachowywane jako część PCH i wpływa na pozostałą część kompilacji, który używa PCH.
alloc_text |
include_alias |
Service Pack |
auto_inline |
init_seg |
pointers_to_members |
check_stack |
inline_depth |
setLocale |
code_seg |
inline_recursion |
vtordisp |
data_seg |
wewnętrzne |
Ostrzeżenie |
Funkcja |
Optymalizacja |
|
Zobacz też
Informacje
Wstępnie skompilowana zasady spójności nagłówka