Partilhar via


hdrstop pragma

Oferece mais controle sobre nomes de arquivos de pré-compilação e sobre o local em que o estado de compilação é salvo.

Sintaxe

#pragma hdrstop [ ( "nome do arquivo" ) ]

Comentários

O nome de arquivo é o nome do arquivo de cabeçalho pré-compilado a ser usado ou criado (dependendo se /Yu ou /Yc é especificado). Se de nome de arquivo não contiver uma especificação de caminho, presume-se que o arquivo de cabeçalho pré-compilado esteja no mesmo diretório que o arquivo de origem.

Se um arquivo C ou C++ contiver um hdrstoppragma quando compilado com /Yc, o compilador salvará o estado da compilação até o local do pragma. O estado compilado de qualquer código que siga o pragma não é salvo.

Use nome de arquivo para nomear o arquivo de cabeçalho pré-compilado no qual o estado compilado é salvo. Um espaço entre hdrstop e nome de arquivo é opcional. O nome do arquivo especificado no hdrstoppragma é uma cadeia de caracteres e está sujeito às restrições de qualquer cadeia de caracteres C ou C++. Em particular, você deve colocá-lo entre aspas e usar 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 seguintes regras, em ordem de precedência:

  1. O argumento para a opção de compilador /Fp

  2. O nome de arquivo argumento para #pragma hdrstop

  3. O nome base do arquivo de origem com uma extensão PCH

Se nenhuma das opções /Yc e /Yu ou o hdrstoppragma especificar um nome de arquivo, o nome base do arquivo de origem será usado como o nome base do arquivo de cabeçalho pré-compilado.

Você também pode usar comandos de pré-processamento para executar 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 regem onde o hdrstoppragma pode ser colocado:

  • Deve aparecer fora de qualquer declaração ou definição de dados ou funções.

  • 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 hdrstoppragma aparece depois que dois arquivos foram incluídos e uma função embutida foi definida. Esta localização pode, a princípio, parecer uma colocação estranha para o pragma. Considere, no entanto, que usar as opções de pré-compilação manual, /Yc e /Yu, com o hdrstoppragma torna possível pré-compilar arquivos fonte inteiros, ou mesmo código embutido. O compilador da Microsoft não limita você a pré-compilar apenas declarações de dados.

Ver também

diretivas Pragma e as palavras-chave __pragma e _Pragma