/Yu (Vorkompilierte Headerdatei verwenden)
Aktualisiert: November 2007
Weist den Compiler an, eine vorhandene vorkompilierte Headerdatei (.pch) in der aktuellen Kompilierung zu verwenden.
/Yu[filename]
Argumente
- filename
Der Name einer Headerdatei, die mit der #include-Präprozessordirektive in die Quelldatei eingebunden wird.
Hinweise
Der Name der Includedatei muss bei der /Yc-Option, die den vorkompilierten Header erstellt, und jeder nachfolgenden /Yu-Option, die die Verwendung des vorkompilierten Headers angibt, derselbe sein.
Bei /Yc gibt filename den Punkt an, an dem die Vorkompilierung anhält. Der Compiler kompiliert den gesamten Code bis einschließlich filename und benennt den resultierenden vorkompilierten Header mit dem Basisnamen der Includedatei und der Erweiterung .pch.
Die PCH-Datei muss mit /Yc erstellt worden sein.
Der Compiler behandelt den gesamten Code vor der H-Datei als vorkompiliert. Er überspringt diesen bis hinter die die der H-Datei zugeordneten #include-Direktive, verwendet den in der PCH-Datei enthaltenen Code und kompiliert dann den gesamten Code hinter filename.
In der Befehlszeile sind keine Leerzeichen zwischen /Yu und filename zulässig.
Wenn Sie die Option /Yu ohne einen Dateinamen angeben, muss das Quellprogramm ein #pragma hdrstop-Pragma enthalten, das den Dateinamen der vorkompilierten Headerdatei (PCH-Datei) angibt. In diesem Fall verwendet der Compiler die durch /Fp (Name der PCH-Datei) angegebene vorkompilierte Headerdatei (PCH-Datei). Der Compiler überliest den Code bis zu diesem Pragma, stellt den kompilierten Zustand von der vorkompilierten Headerdatei, die im Pragma angegeben ist, wieder her und kompiliert dann nur den Code, der dem Pragma folgt. Wenn #pragma hdrstop keinen Dateinamen angibt, sucht der Compiler nach einer Datei mit einem vom Basisnamen der Quelldatei abgeleiteten Namen und der Erweiterung .pch. Sie können auch die Option /Fp verwenden, um eine andere PCH-Datei anzugeben.
Wenn Sie die Option /Yu ohne einen Dateinamen verwenden und kein hdrstop-Pragma angeben, wird eine Fehlermeldung generiert und die Kompilierung schlägt fehl.
Wenn die Optionen /Ycfilename und /Yufilename in derselben Befehlszeile vorkommen und beide auf denselben Dateinamen verweisen, hat /Ycfilename Vorrang bei der Vorkompilierung des gesamten Codes bis einschließlich der benannten Datei. Diese Funktion vereinfacht das Schreiben von Makefiles.
Da PCH-Dateien ebenso Informationen über die Computerumgebung wie Speicheradresseninformationen über das Programm enthalten, sollten Sie eine PCH-Datei nur auf dem Computer verwenden, auf dem sie erstellt wurde.
Weitere Informationen zu vorkompilierten Headern finden Sie unter:
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Geben Sie /Yc (Datei der vorkompilierten Header erstellen) für eine CPP-Datei im Projekt an.
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite Vorkompilierte Header.
Ändern Sie die Eigenschaft PCH durch Datei erstellen oder Erstellen/Verwenden eines vorkompilierten Headers.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe PrecompiledHeaderThrough und UsePrecompiledHeader.
Beispiele
Wenn der folgende Code:
#include <afxwin.h> // Include header for class library
#include "resource.h" // Include resource definitions
#include "myapp.h" // Include information specific to this app
...
mit der Befehlszeile CL /YuMYAPP.H PROG.CPP kompiliert wird, verarbeitet der Compiler die drei Include-Anweisungen nicht, sondern verwendet vorkompilierten Code aus MYAPP.pch. Dadurch wird die Zeit eingespart, die zum Vorverarbeiten aller drei Dateien (und etwaiger eingebundener Dateien) nötig wäre.
Sie können die /Fp (Name der PCH-Datei)-Option mit der /Yu-Option verwenden, um den Namen der PCH-Datei anzugeben, wenn sich dieser vom Dateinamenargument für /Yc oder dem Basisnamen der Quelldatei unterscheidet, wie im folgenden Beispiel:
CL /YuMYAPP.H /FpMYPCH.pch PROG.CPP
Dieser Befehl legt eine vorkompilierte Headerdatei mit der Bezeichnung MYPCH.pch fest. Der Compiler verwendet die Inhalte dieser Datei, um den vorkompilierten Status aller Headerdateien bis zu einschließlich MYAPP.h wiederherzustellen. Der Compiler kompiliert dann den Code, der auf die include-Anweisung für MYAPP.h folgt.