Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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. Na 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:
Argument opcji kompilatora
/FpArgument nazwy pliku do
#pragma hdrstopNazwa 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.