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 do 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.Aviso 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 de compilador que podem disparar um aviso de inconsistência ao usar um cabeçalho pré-compilado.
Opção |
Nome |
Regra |
---|---|---|
/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 os valores das constantes alterados. |
/E ou /EP |
Copiar a saída de pré-processador para a saída padrão |
Cabeçalhos pré-compilados não funcionam com a opção /E ou /EP. |
/FR ou /FR |
Gerar informações sobre o 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 essas 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 do objeto atual e os símbolos locais definidos no cabeçalho pré-compilado não estão disponíveis para o depurador. |
Observaçã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 /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 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 de .pch:
Comment |
página |
Subtítulo |
Linesize |
pageSize |
Título |
Message (Mensagem) |
Ignorar |
|
Os pragmas 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