hdrstop
Fornece controle adicional sobre nomes de arquivo de pré-compilação e sobre o local em que o estado de compilação é salvo.
#pragma hdrstop [( "filename" )]
Comentários
O nome do arquivo é o nome do arquivo de cabeçalho pré-compilado para usar ou criar (dependendo se /Yu ou /Yc for especificado).Se nome do arquivo não contém uma especificação de caminho, o arquivo de cabeçalho pré-compilado será considerado no mesmo diretório do arquivo de origem.
Se um arquivo c ou C++ contém um hdrstop pragma quando compilado com /Yc, o compilador salva o estado da compilação para cima até o local do pragma.O estado compilado de qualquer código que segue o pragma não serão salvas.
Use nome do arquivo para nomear o arquivo de cabeçalho pré-compilado no qual o estado compilado é salvo.Um espaço entre hdrstop e nome do arquivo é opcional.O nome de arquivo especificado na hdrstop pragma é uma seqüência de caracteres e, portanto, sujeito às restrições de qualquer seqüência de caracteres c ou C++.Em particular, você deve colocá-lo entre aspas e use o caractere de escape (barra invertida) para especificar nomes de diretório.Por exemplo:
#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )
O nome do arquivo de cabeçalho pré-compilado é determinado de acordo com as regras a seguir, na ordem de precedência:
O argumento para a opção de compilador /Fp
O nome do arquivo argumento #pragmahdrstop
O nome de base do arquivo de origem com um.Extensão PCH
Para as opções de /Yc e /Yu, se nenhuma das opções de dois compilação nem a hdrstop pragma Especifica um nome de arquivo, o nome do arquivo de origem de base é usado como o nome de base do arquivo de cabeçalho pré-compilado.
Você também pode usar os comandos de pré-processamento para realizar a substituição de macro da seguinte maneira:
#define INCLUDE_PATH "c:\\progra~`1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )
As seguintes regras orientam onde o hdrstop pode ser colocado pragma:
Ele deve aparecer fora de qualquer dado ou declaração de função ou definição.
Ele deve ser especificado no arquivo de origem, não dentro de um arquivo de cabeçalho.
Exemplo
#include <windows.h> // Include several files
#include "myhdr.h"
__inline Disp( char *szToDisplay ) // Define an inline function
{
... // Some code to display string
}
#pragma hdrstop
Neste exemplo, o hdrstop pragma aparece depois que dois arquivos tenham sido incluídos e tiver sido definida uma função embutida.Isso pode, a princípio, parece ser um posicionamento ímpar para o pragma.No entanto, considere que o uso de opções de pré-compilação manuais, /Yc e /Yu, com o hdrstop pragma possibilita que você pré-compile arquivos de origem inteiro — até mesmo o código embutido.O compilador da Microsoft não limita você a pré-compilação apenas declarações de dados.