hdrstop
Fornisce un controllo maggiore sui nomi file di precompilazione e sulla posizione in cui lo stato di compilazione viene salvato.
#pragma hdrstop [( "filename" )]
Note
nome file è il nome del file di intestazione precompilato da utilizzare o per creare (a seconda che /Yu o /Yc viene specificato).se nome file non contiene una specifica del percorso, il file di intestazione precompilato sia nella stessa directory del file di origine.
Se il tipo c o il file C++ contiene un oggetto hdrstop il pragma una volta compilato con /Yc, il compilatore salvare lo stato della compilazione fino alla posizione del pragma.Lo stato compilato del codice che segue il pragma non viene salvato.
utilizzo nome file per assegnare un nome al file di intestazione precompilato in cui lo stato compilato viene salvato.Uno spazio tra hdrstop e nome file è facoltativo.il nome file specificato in hdrstop il pragma è una stringa ed è pertanto soggetti ai vincoli di qualsiasi stringa c o C++.In particolare, deve essere racchiuso tra virgolette e utilizzare il carattere di escape (barra rovesciata) per specificare i nomi di directory.Di seguito è riportato un esempio:
#pragma hdrstop( "c:\\projects\\include\\myinc.pch" )
Il nome del file di intestazione precompilato viene determinato in base alle regole seguenti, in ordine di priorità:
L'argomento dell'opzione del compilatore /Fp
nome file argomento a #pragma hdrstop
Il nome di base del file di origine con estensione .PCH
Per le opzioni /Yu e /Yc, se né delle due opzioni di compilazione né hdrstop il pragma specificare un nome file, il nome di base del file di origine viene utilizzato come nome di base del file di intestazione precompilato.
È inoltre possibile utilizzare i comandi di pre-elaborazione eseguire la macro sostituzione come segue:
#define INCLUDE_PATH "c:\\progra~`1\\devstsu~1\\vc\\include\\"
#define PCH_FNAME "PROG.PCH"
.
.
.
#pragma hdrstop( INCLUDE_PATH PCH_FNAME )
Le regole seguenti determinano in cui hdrstop il pragma è possibile inserire:
Deve trovarsi all'esterno di eventuali dati o dichiarazione di funzione o definizione.
È necessario specificare nel file di origine, non all'interno di un file di intestazione.
Esempio
#include <windows.h> // Include several files
#include "myhdr.h"
__inline Disp( char *szToDisplay ) // Define an inline function
{
... // Some code to display string
}
#pragma hdrstop
in questo esempio, hdrstop il pragma viene visualizzato dopo che due file sono stati importati e una funzione inline è stata definita.Ciò potrebbe, inizialmente, sembrare una posizione dispari per il pragma.Considerare, tuttavia, tale utilizzando le opzioni manuali di precompilazione, /Yc e /Yu, con hdrstop il pragma consente a precompili interi file di origine - anche codice inline.Il compilatore Microsoft non si limita alla precompilazione solo le dichiarazioni di dati.