Zwei Methoden für das Vorkompilieren von Code
Aktualisiert: November 2007
Mit Visual C++ können Sie beliebigen C- oder C++-Code vorkompilieren; Sie sind nicht auf das Vorkompilieren von Headerdateien beschränkt.
Das Vorkompilieren erfordert Planung, es werden jedoch bedeutend schnellere Kompilierungen erreicht, wenn Sie Quellcode, bei dem es sich nicht um einfache Headerdateien handelt, vorkompilieren.
Kompilieren Sie Code vor, wenn Sie wissen, dass die Quelldateien gemeinsame Headerdateien verwenden, diese aber nicht in derselben Reihenfolge einfügen, oder wenn Sie Quellcode in die Vorkompilierung einbeziehen möchten.
Die Optionen für vorkompilierte Headerdateien sind /Yc (Datei der vorkompilierten Header erstellen) und /Yu (Vorkompilierte Headerdatei verwenden). Verwenden /Yc, um einen vorkompilierten Header zu erstellen. Bei Verwendung des optionalen hdrstop-Pragmas können Sie über /Yc Headerdateien und Quellcode vorkompilieren. Wählen Sie /Yu, um eine bereits vorhandene vorkompilierte Headerdatei in der bestehenden Kompilierung zu verwenden. Außerdem kann /Fp mit den Optionen /Yc und /Yu verwendet werden, um einen alternativen Namen für die vorkompilierte Headerdatei anzugeben.
In den Referenzthemen der Compileroptionen für /Yu und /Yc wird erläutert, wie in der Entwicklungsumgebung auf diese Funktionalität zugegriffen werden kann.
Erstellen einer PCH-Datei
Anhand einer PCH-Datei können Sie relativ einfach eine weitere Datei erstellen.
cl -c -Yc"stuff.h" -Fplevel1.pch level1.cpp
cl -c -Yu"stuff.h" -Fplevel1.pch -Yc level2.cpp
Die Datei level2.cpp sieht wie folgt aus:
#include "stuff.h"
#include "morestuff.h"
#pragma hdrstop("level2.pch")
Durch den folgenden Befehl wird die Datei level2.pch erstellt, die in weiteren Kompilierungen verwendet werden kann:
cl -c -Yu"morestuff.h" -Fplevel2.pch mysource.cpp
Beachten Sie, dass die #pragma hdrstop-Direktive lediglich in die Datei eingefügt werden muss, durch die die zweite PCH erstellt wird; sie muss nicht in allen CPP-Dateien enthalten sein, die die PCH verwenden. Dateien, die die PCH verwenden, können die Datei morestuff.h in der Befehlszeile angeben (sodass Sie nicht alle Dateien für die Verwendung dieser Datei konfigurieren müssen). Bei beiden Methoden zum Vorkompilieren von Code, ob automatisch oder manuell, wird der vorkompilierte Code in einem vorkompilierten Header gespeichert.
Weitere Informationen
Weitere Beispiele zur Verwendung von vorkompilierten Headern finden Sie in den Makefiles für die Programmbeispiele, die mit Microsoft Foundation Class Library ausgeliefert werden.