hdrstop pragma

Bietet Ihnen mehr Kontrolle über Vorkompilierungsdateinamen und über den Speicherort, an dem der Kompilierungsstatus gespeichert wird.

Syntax

#pragma hdrstop [ ( "filename" ) ]

Hinweise

Der Dateiname ist der Name der vorkompilierten Headerdatei, die verwendet oder erstellt werden soll (je nach /Yu Angabe oder /Yc Angabe). Wenn der Dateiname keine Pfadspezifikation enthält, wird davon ausgegangen, dass sich die vorkompilierte Headerdatei im selben Verzeichnis wie die Quelldatei befindet.

Wenn eine C- oder C++-Datei eine hdrstoppragma beim Kompilieren mit /Ycenthält, speichert der Compiler den Zustand der Kompilierung bis zum Speicherort der pragma. Der kompilierte Zustand eines Codes, der auf den pragma folgenden Code folgt, wird nicht gespeichert.

Verwenden Sie den Dateinamen , um die vorkompilierte Headerdatei zu benennen, in der der kompilierte Zustand gespeichert wird. Ein Leerzeichen zwischen hdrstop und Dateiname ist optional. Der in der hdrstoppragma Zeichenfolge angegebene Dateiname ist eine Zeichenfolge und unterliegt den Einschränkungen einer beliebigen C- oder C++-Zeichenfolge. Insbesondere müssen Sie es in Anführungszeichen setzen und das Escapezeichen (umgekehrter Schrägstrich, ) verwenden, \um Verzeichnisnamen anzugeben. Beispiel:

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

Der Name der vorkompilierten Headerdatei wird gemäß den folgenden Regeln, in Rangfolge aufgelistet, bestimmt:

  1. Das Argument für die /Fp Compileroption

  2. Das Argument "Dateiname " #pragma hdrstop

  3. Der Basisname der Quelldatei mit einer PCH-Erweiterung

Wenn keines der /Yc Optionen oder /Yu die hdrstoppragma Angabe eines Dateinamens vorhanden ist, wird der Basisname der Quelldatei als Basisname der vorkompilierten Headerdatei verwendet.

Sie können auch Präprozessorbefehle wie folgt verwenden, um Makroersetzung auszuführen:

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

Die folgenden Regeln regeln, wo die hdrstoppragma Platzierung erfolgen kann:

  • Es muss außerhalb einer Daten- oder Funktionsdeklaration oder -definition angezeigt werden.

  • Es muss in der Quelldatei, nicht in einer Headerdatei angegeben werden.

Beispiel

#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 diesem Beispiel wird angezeigt hdrstoppragma , nachdem zwei Dateien eingeschlossen wurden und eine Inlinefunktion definiert wurde. Dieser Ort scheint zunächst eine ungerade Platzierung für die pragma. Berücksichtigen Sie jedoch die Verwendung der manuellen Vorkompilierungsoptionen /Yc und /Yu, mit der hdrstoppragma es Ihnen möglich ist, ganze Quelldateien oder sogar Inlinecode vorkompilieren. Der Microsoft-Compiler beschränkt Sie nicht auf das Vorabkompilieren von Datendeklarationen.

Siehe auch

Pragma-Direktiven und die __pragma und _Pragma Schlüsselwort (keyword)