Regras de consistência para uso por arquivo de cabeçalhos pré-compilados
The /Yu compilador opção permite que você especifique qual pré-compilado o arquivo de cabeçalho (PCH) a ser usado.
Quando você usa um PCH, o compilador pressupõe o mesmo ambiente de compilação — usando opções do compilador consistente, pragmas e assim por diante — que estava em vigor quando você criou 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 seguintes.
Consistência de opção do compilador
As opções do compilador podem disparar 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 corrente.O estado de constantes definidas não está marcado, mas podem ocorrer resultados imprevisíveis se esses alterar.
PCHs não funcionam com as opções /E e /EP.
PCHs devem ser criados usando qualquer um da gerar procurar informações (/ FR) opção ou as variáveis locais Exclude (/ FR) para compilações subseqüentes que usam o PCH podem usar essas opções de opção.
Compatível com 7.0 C (/ Z7)
Se essa opção está 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 usar PCH e /Z7 acionam um aviso.As informações de depuração são colocadas no corrente arquivo .obj e símbolos locais definidos o PCH não estão disponível para o depurador.
Incluir caminho consistência
Um 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 .pch, o compilador sempre usa o caminho de inclusão especificado na compilação corrente.
Consistência de arquivo de fonte
Quando você especifica a opção arquivo de cabeçalho pré-compilados (/YU) usar, o compilador ignora todas as diretivas de pré-processador (incluindo pragmas) que aparecem no código-fonte que irá ser pré-compilado.A compilação especificada por essas diretivas de pré-processador deve ser o mesmo que a compilação usada para a opção Criar arquivo Precompiled do cabeçalho (/Yc)
Consistência pragma
Pragmas processadas durante a criação de um PCH geralmente afetam o arquivo com o qual o PCH é usada subseqüentemente.Pragmas comentário e a mensagem não afetam o restante da compilação.
Pragmas seguintes são mantidos sistema autônomo parte de um PCH e afetar o restante de uma compilação que usa o PCH.
alloc_text |
include_alias |
empacotar |
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é-compilados