Regras de consistência para uso por arquivo de cabeçalhos pré-compilados
O /Yu opção de compilador permite especificar qual pré-compilado que o arquivo de cabeçalho (PCH) a ser usado.
Quando você usa um PCH, o compilador pressupõe que o mesmo ambiente de compilação — usando as opções do compilador consistente, pragmas e assim por diante — que estava em vigor quando você criou o PCH, a menos que você especifique o contrário.Se o compilador detectar uma inconsistência, ele emite um aviso e identifica a inconsistência, sempre que possível.Esses avisos não indicam necessariamente um problema com o PCH; eles simplesmente avisá-lo de possíveis conflitos.Requisitos de consistência para PCHs são descritos nas seções a seguir.
Consistência de opção do compilador
As opções do compilador podem acionar um aviso de inconsistência ao usar um PCH:
As macros criadas usando o pré-processador (/d) opção deve ser o mesmo entre a compilação que criou o PCH e a compilação atual.O estado das constantes definidas não estiver marcado, mas os resultados imprevisíveis podem ocorrer se esses alterar.
PCHs não funcionam com as opções /E e /EP.
PCHs devem ser criados usando tanto a gerar informações do navegador (/ FR) opção ou as variáveis locais excluir (/ Fr) antes de compilações subseqüentes que usam o PCH podem usar essas opções de opção.
C compatível com 7.0 (/ /Z7)
Se essa opção estiver em vigor quando o PCH é criado, compilações subseqüentes que usam o PCH podem usar as informações de depuração.
Se o c compatível com 7.0 (/ /Z7) opção não está em vigor quando o PCH é criado, compilações subseqüentes que usam o PCH e /Z7 disparam uma notificação.As informações de depuração são colocadas no atual arquivo. obj e símbolos locais definidos o PCH não estão disponíveis para o depurador.
Incluir o consistência de caminho
Uma PCH não contém informações sobre o caminho de inclusão que estava em vigor quando ele foi criado.Quando você usa um arquivo de .pch, o compilador sempre usa o caminho de inclusão especificado na compilação atual.
Consistência do arquivo de origem
Quando você especifica a opção arquivo de cabeçalho pré-compilado do uso (/Yu), o compilador ignora todas as diretivas de pré-processamento (incluindo pragmas) que aparecem no código fonte que irá ser pré-compilado.A compilação especificada por tais diretivas de pré-processamento deve ser o mesmo que a compilação usada para a opção de criar arquivo pré-compilado do cabeçalho (/Yc).
Consistência pragma
Pragmas processados durante a criação de uma PCH geralmente afetam o arquivo com o qual o PCH é usado posteriormente.Os pragmas de comentário e a mensagem não afetam o restante da compilação.
Os pragmas seguintes são mantidos como parte de uma PCH e afetará o restante de uma compilação que usa o PCH.
alloc_text |
include_alias |
Pack |
auto_inline |
init_seg |
pointers_to_members |
check_stack |
inline_depth |
setlocale |
code_seg |
inline_recursion |
vtordisp |
data_seg |
intrínseco |
Aviso |
função |
otimizar |
|
Consulte também
Referência
Regras de consistência de cabeçalho pré-compilado