Compartilhar via


hdrstop pragma

Fornece controle adicional sobre nomes de arquivo de pré-compilação e sobre o local em que o estado da compilação é salvo.

Sintaxe

#pragma hdrstop [ ( "filename" ) ]

Comentários

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

Se um arquivo de C ou C++ contém um hdrstoppragma quando compilado com /Yc, o compilador salva o estado da compilação até o pragma. O estado compilado de todo o código que se segue ao pragma não é salvo.

Use filename para nomear o arquivo de cabeçalho pré-compilado no qual o estado compilado é salvo. Um espaço entre hdrstop e filename é opcional. O nome de arquivo especificado no hdrstoppragma é uma cadeia de caracteres e, portanto, está sujeito às restrições de qualquer cadeia de caracteres de 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 regras a seguir, em ordem de precedência:

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

  2. O argumento filename é para #pragma hdrstop

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

Se nenhuma das opções /Yc e /Yu ou 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 macros, 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 hdrstoppragma pode ser colocado:

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

  • Deve ser especificado no arquivo de origem, e não em 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

Nesse exemplo, o hdrstoppragma aparece depois que dois arquivos foram incluídos e uma função embutida foi definida. Inicialmente, isso pode parecer um posicionamento estranho para o pragma. Porém, considere que, usando as opções de pré-compilação manual,/Yc, /Yu e o hdrstoppragma, você pode pré-compilar arquivos de origem inteiros, incluindo até o código embutido. Com o compilador da Microsoft, você não está limitado a pré-compilar somente declarações de dados.

Confira também

Diretivas do Pragma e as palavras-chave do __pragma e _Pragma