hdrstop pragma

Zapewnia większą kontrolę nad nazwami plików wstępnego kompilowania i lokalizacją, w której jest zapisywany stan kompilacji.

Składnia

#pragma hdrstop [ ( "nazwa pliku" ) ]

Uwagi

Nazwa pliku jest nazwą wstępnie skompilowanego pliku nagłówka do użycia lub utworzenia (w zależności od tego, czy /Yu/Yc jest określony). Jeśli nazwa pliku nie zawiera specyfikacji ścieżki, zakłada się, że wstępnie skompilowany plik nagłówka znajduje się w tym samym katalogu co plik źródłowy.

Jeśli plik C lub C++ zawiera hdrstoppragma element podczas kompilowania za pomocą /Ycpolecenia , kompilator zapisuje stan kompilacji w lokalizacji pragma. Skompilowany stan dowolnego kodu, który jest zgodny z elementem pragma , nie jest zapisywany.

Użyj nazwy pliku , aby nazwać wstępnie skompilowany plik nagłówka, w którym jest zapisywany stan skompilowany. Spacja między hdrstop i nazwa pliku jest opcjonalna. Nazwa pliku określona w obiekcie hdrstoppragma jest ciągiem i podlega ograniczeniom dowolnego ciągu C lub C++. W szczególności należy ująć go w cudzysłów i użyć znaku ucieczki (ukośnika odwrotnego, \), aby określić nazwy katalogów. Przykład:

#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )

Nazwa wstępnie skompilowanego pliku nagłówkowego jest określana zgodnie z następującymi regułami według pierwszeństwa:

  1. Argument opcji kompilatora /Fp

  2. Argument nazwy pliku do#pragma hdrstop

  3. Nazwa podstawowa pliku źródłowego z rozszerzeniem PCH

Jeśli żadna z /Yc opcji i /Yu lub hdrstoppragma określa nazwę pliku, nazwa podstawowa pliku źródłowego jest używana jako nazwa podstawowa wstępnie skompilowanego pliku nagłówka.

Możesz również użyć poleceń przetwarzania wstępnego, aby wykonać makro zastępujące w następujący sposób:

#define INCLUDE_PATH "c:\\progra~1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )

Następujące reguły określają, gdzie hdrstoppragma można umieścić:

  • Musi znajdować się poza wszelkimi deklaracjami i definicjami danych lub funkcji.

  • Musi być określona w pliku źródłowym, a nie w pliku nagłówkowym.

Przykład

#include <windows.h>                 // Include several files
#include "myhdr.h"

__inline Disp( char *szToDisplay )   // Define an inline function
{
    // ...                           // Some code to display string
}
#pragma hdrstop

W tym przykładzie element hdrstoppragma pojawia się po dołączeniu dwóch plików i zdefiniowano funkcję śródliniową. Ta lokalizacja może początkowo wydawać się nietypowym miejscem dla elementu pragma. Należy jednak wziąć pod uwagę, że przy użyciu opcji /Yc ręcznej wstępnego kompilowania i /Yu, dzięki hdrstoppragma temu można wstępnie skompilować całe pliki źródłowe, a nawet wbudowany kod. Kompilator firmy Microsoft nie ogranicza możliwości wstępnego kompilowania tylko deklaracji danych.

Zobacz też

Dyrektywy Pragma i __pragma słowa kluczowe i _Pragma