Freigeben über


hdrstop

Gibt Ihnen zusätzliche Kontrolle über Vorkompilierungs und Dateinamen zu dem Speicherort, an dem der Zustand der Kompilierung gespeichert wird.

#pragma hdrstop [( "filename" )]  

Hinweise

Der Dateiname ist der Name der vorkompilierten Headerdatei zu erstellen oder zu verwenden (je nachdem, ob /Yu oder /Yc angegeben wurde).Wenn der Dateiname keine Pfadangabe enthält, wird davon ausgegangen, dass die vorkompilierte Headerdatei im selben Verzeichnis wie die Quelldatei zu sein.

Wenn eine C++-Datei enthält, speichert oder ein hdrstop Pragma, wenn sie mit /Yc kompiliert der Compiler den Zustand der Kompilierung bis zur Position des Pragmas.Der kompilierte Zustand von Code, der dem Pragma folgt, wird nicht gespeichert.

Verwenden Sie Dateinamen , um die vorkompilierte Headerdatei zu benennen, in der der kompilierten Zustand gespeichert wird.Ein Leerzeichen zwischen hdrstop und Dateinamen ist optional.Der Dateiname, der im hdrstop Pragma angegeben wird, ist eine Zeichenfolge und ist daher je nach den Einschränkungen für jede C- oder C++-Zeichenfolge.Insbesondere müssen Sie sie in Anführungszeichen einschließen und das Escapezeichen (umgekehrter Schrägstrich) verwenden, um Verzeichnisnamen angeben.Beispiele:

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

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

  1. Das Argument für die Compileroption /Fp-

  2. Das Argument Dateinamen zu #Pragma hdrstop

  3. Der Basisname der Quelldatei mit einer .PCH-Erweiterung

Für die Optionen /Yc- und /Yu- wenn weder der beiden Kompilierungsoptionen noch des hdrstop Pragmas einen Dateinamen angeben, wird dem Basisnamen der Quelldatei als Basisname der vorkompilierten Headerdatei verwendet.

Sie können auch Präprozessorbefehle Ersetzung Makro ausfü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 bestimmen, wo das hdrstop Pragma platziert werden kann:

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

  • Sie 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 das hdrstop Pragma, nachdem zwei Dateien einbezogen wurden und eine Inlinefunktion definiert wurde.Dies scheint möglicherweise zuerst eine ungerade Platzierung für das Pragma sein.Berücksichtigen Sie jedoch, stellt diese Anwendung der manuellen Vorkompilierungs, Optionen /Yc und /Yu, mit dem hdrstop Pragma es möglich, sodass Sie die gesamte Quelldateien — sogar Inlinecode vorkompilieren.Der Microsoft-Compiler schränkt Sie nicht auf den Vorkompilieren nur über die Deklarationen ein.

Siehe auch

Referenz

Pragma-Direktiven und das __Pragma-Schlüsselwort