Udostępnij za pośrednictwem


hdrstop

Daje dodatkową kontrolę nad nazwami plików kompilacji wstępnej oraz nad lokalizacją, w której zapisywany jest stan kompilacji.

#pragma hdrstop [( "filename" )]  

Uwagi

Filename jest nazwą skompilowanego wstępnie pliku nagłówkowego, który ma być użyty lub utworzony (w zależności od tego czy określony został parametr /Yu, czy /Yc).Jeśli filename nie zawiera specyfikacji ścieżki, zakłada się, że wstępnie skompilowany plik nagłówkowy jest w tym samym katalogu co plik źródłowy.

Jeśli plik języka C lub C++ zawiera dyrektywę hdrstop podczas kompilacji z parametrem /Yc, kompilator zapisuje stan kompilacji do lokalizacji dyrektywy.Nie jest zapisywany skompilowany stan dowolnego kodu, który następuje po dyrektywie.

Użyj filename, aby nazwać skompilowany wstępnie plik nagłówkowy, w którym zostanie zapisany stan kompilacji.Odstęp między hdrstop i filename jest opcjonalny.Nazwa pliku określona w dyrektywie hdrstop jest ciągiem i dlatego podlega ograniczeniom ciągów języka C lub C++.W szczególności, musisz ująć go w znaki cudzysłowu i używać znaku ucieczki (ukośnik odwrotny), 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, w kolejności priorytetów:

  1. Argument opcji kompilatora /Fp

  2. Argument filename dyrektywy #pragmahdrstop

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

Jeśli nazwa pliku nie została określona przez żadną z dwóch opcji kompilacji /Yc i /Yu ani przez dyrektywę hdrstop, jako nazwa podstawowa wstępnie skompilowanego pliku nagłówkowego jest używana nazwa podstawowa pliku źródłowego.

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 )

O miejscu umieszczenia dyrektywy hdrstop decydują następujące reguły:

  • 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, dyrektywa hdrstop pojawia się po dołączeniu dwóch plików oraz po zdefiniowaniu funkcji w tekście.Pozornie, może wydawać się to dziwnym miejscem dla dyrektywy.Rozważ jednak, że używanie ręcznych opcji kompilacji wstępnej /Yc i /Yu z dyrektywą hdrstop sprawia, ż możliwa jest wstępna kompilacja całych plików źródłowych – nawet kodu w tekście.Kompilator firmy Microsoft nie ogranicza do kompilacji wstępnej tylko deklaracji danych.

Zobacz też

Informacje

Dyrektywy pragma i słowo kluczowe __Pragma