Compartilhar via


Regras de consistência para /Yc e /Yu

Quando você usa um cabeçalho pré-compilado criado usando /Yc ou /Yu, o compilador compara o atual ambiente de compilação para aquele que existia quando você criou o arquivo .pch. Certifique-se de especificar um ambiente consistente com o anterior (usando as opções de compilador consistente, pragmas e assim por diante) para a compilação atual. Se o compilador detectar uma inconsistência, ele emite um aviso e identifica a inconsistência, sempre que possível. Esses avisos não indica necessariamente um problema com o arquivo .pch; eles simplesmente avisá-lo de possíveis conflitos. As seções a seguir explicam os requisitos de consistência para cabeçalhos pré-compilados.

Consistência de opção do compilador

A tabela a seguir lista as opções do compilador podem disparar um aviso de inconsistência ao usar um cabeçalho pré-compilado.

Option

Name

Rule

/D

Definir constantes e macros

Deve ser o mesmo entre a compilação que criou o cabeçalho pré-compilado e a compilação atual. O estado das constantes definidas não estiver marcado, mas os resultados imprevisíveis podem ocorrer se os seus arquivos dependem dos valores das constantes alterados.

/E ou /EP

Copiar a saída de pré-processador para saída padrão

Cabeçalhos pré-compilados não funcionam com a opção /E ou /EP.

/FR ou /FR

Gerar informações do navegador de código-fonte da Microsoft

Para as opções /Fr e /FR válido com a opção /Yu, eles devem também ter sido em vigor quando o cabeçalho pré-compilado foi criado. Compilações subseqüentes que usam o cabeçalho pré-compilado também geram informações sobre o navegador de código-fonte. Informações sobre o navegador é colocado em um arquivo único .sbr e é referenciado por outros arquivos da mesma maneira como as informações do CodeView. Você não pode substituir a colocação de informações do navegador de código-fonte.

O lançamento, /GD, /GE, /Gw ou /GW

Opções de protocolo do Windows

Deve ser o mesmo entre a compilação que criou o cabeçalho pré-compilado e a compilação atual. Se essas opções forem diferentes, uma mensagem de aviso de resultados.

/Zi

Gerar informações de depuração completas

Se essa opção estiver em vigor quando o cabeçalho pré-compilado é criado, compilações subseqüentes que usam a pré-compilação podem usar informações de depuração. Se /Zi não estiver em vigor quando o cabeçalho pré-compilado é criado, compilações subseqüentes que usam a pré-compilação e a opção /Zi acionam um aviso. As informações de depuração são colocadas no arquivo atual do objeto e os símbolos locais definidos no cabeçalho pré-compilado não estão disponíveis para o depurador.

ObservaçãoObservação

O recurso de cabeçalho pré-compilado destina-se ao uso somente com um arquivo com os arquivos de código-fonte c e C++.

Incluir o consistência de caminho

Um cabeçalho pré-compilado criado com o /Yc não contém informações sobre o caminho de inclusão que estava em vigor quando você criou o arquivo .pch. 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ê usa um cabeçalho pré-compilado, o compilador ignora todas as diretivas de pré-processamento (incluindo pragmas) que aparecem antes o pragma hdrstop. A compilação especificada por tais diretivas de pré-processamento deve ser o mesmo que a compilação usada para criar o arquivo de cabeçalho pré-compilado.

Consistência de pragma

Pragmas processados durante a compilação de um cabeçalho pré-compilado geralmente afetam o arquivo em que o cabeçalho pré-compilado é usado posteriormente. Os seguintes pragmas afeta somente o código dentro do arquivo .pch; elas não afetam o código que subseqüentemente usa o arquivo .pch:

Comment

página

subtítulo

Linesize

pageSize

Title

Message

Ignorar

 

Os pragmas a seguintes são mantidos como parte de um cabeçalho pré-compilado e afetará o restante de uma compilação que usa o cabeçalho pré-compilado:

alloc_text

função

otimizar

auto_inline

inline_depth

Pack

check_pointer

inline_recursion

same_seg

check_stack

intrínseco

Aviso

code_seg

loop_opt

 

data_seg

native_caller

 

Consulte também

Referência

Regras de consistência de cabeçalho pré-compilado

/Yc (criar arquivo de cabeçalho pré-compilado)

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