Compartilhar via


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

/Yu (arquivo de cabeçalho pré-compilado de uso)

Opções do compilador