Verwenden von vorcompilierten Headern mit C++-Compilern, die durch Clang erweitert wurden

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Durch Clang erweiterte C++-Compiler


Eine vorcompilierte Header-Datei ist eine C++-Header-Datei, die vorcompiliert ist, damit sie bei der Compilierung schneller verarbeitet wird. Ein vorcompilierter Header ist eine C++-Header-Datei in dieser Zwischenform. Bei der Verwendung von C++-Compilern, die durch Clang erweitert wurden, können Ihre Projekte für die Vorcompilierung jeweils nur ein vorcompilierter Header verwenden. (Bei der Verwendung von BCC32 oder BCCOSX kann jedes Ihrer Projekte mehrere vorcompilierte Header verwenden.)

PCH.h ist die vorcompilierte Standard-Header-Datei für C++-Anwendungen

Für jedes C++Projekt wird automatisch ein vorcompilierter Header erzeugt. Der Standardname für die erzeugte vorcompilierte Header-Datei lautet:

 <projectname>PCH<n>.h
  • <projectname> ist der Name des Projekts, für das der vorcompilierte Header erzeugt wird.
  • <n> ist die Nummer des vorcompilierte Headers.

Wenn Sie beispielsweise eine neue C++-Anwendung (Project1) erstellen, wird der folgende vorcompilierte Header automatisch erzeugt, unabhängig von dem Compiler, der zum Erstellen dieses Projekts verwendet wurde:

Project1PCH1.h

Die PCH.h-Datei ist in der Projektverwaltung für jedes C++-Projekt ein Knoten. Der automatisch erzeugte vorcompilierte Header (die PCH.h-Datei) wird standardmäßig beim Compilieren von C++-Anwendungen für 64-Bit-Windows verwendet.

Hinweis: BCC32- und BCCOSX-Compiler erstellen standardmäßig vorcompilierte Header. Sie können sie allerdings so konfigurieren, dass sie die in der Projektverwaltung angezeigte PCH.h-Datei verwenden, indem Sie einfach die PCH.h-Datei (gefolgt von #pragma hdrstop;) in jede Quelldatei Ihres Projekts einbeziehen:
#include
Allerdings sollten Sie dafür den Inhalt der PCH.h-Datei bearbeiten, damit alle in Ihrem Projekt benötigten Header einbezogen
#include
werden.

Erstellen eines vorcompilierten Headers für C++-Compiler, die durch Clang erweitert wurden

In der folgenden Anleitung wird gezeigt, wie vorcompilierte Header für C++-Compiler, die durch Clang erweitert wurden, verwendet werden. Diese Compiler akzeptieren nur eine Header-Datei pro Projekt. In den folgenden Schritten wird eine einzelne Header-Datei erstellt und als vorcompilierter Header für eine Quelldatei in einem 64-Bit-C++-Projekt verwendet.

Schritte

  1. Erstellen Sie ein C++-Anwendung (entweder eine Konsolen-, VCL- oder FireMonkey-Anwendung).
    Sie können entweder eine völlig neue oder eine Anwendung verwenden, die Sie mit einer früheren Version von C++Builder (vor XE3) erstellt haben; Sie können also Änderungen seit der Erstellung der Anwendung vorgenommen haben, oder es kann sich um eine alte Anwendung aus einer früheren Version von C++Builder handeln.
  2. Wählen Sie Datei > Alles speichern. Speichern Sie alle Dateien des Projekts an dem gewünschten Speicherort.
  3. Aktivieren Sie in der Projektverwaltung die Zielplattform, die einen C++-Compiler, der durch Clang erweitert wurde, verwendet (wie z.B. 64-Bit-Windows), und die PCH-Datei:
    • Klicken Sie mit der rechten Maustaste auf Zielplattformen, wählen Sie Plattform hinzufügen und dann die Zielplattform.
    • Klicken Sie mit der rechten Maustaste auf die PCH.h-Datei des Projekts, und aktivieren Sie Für Vorcompilierung verwenden.
  4. Bearbeiten Sie die Header-Datei (PCH.h), und beziehen Sie die Header-Dateien ein, die Sie vorcompilieren möchten. Die PCH.h-Datei sollte folgendermaßen enden:
    #pragma hdrstop
  5. Speichern Sie die PCH.h-Datei im Projektordner.
  6. Klicken Sie in der Projektverwaltung mit der rechten Maustaste auf die Quelldatei, die Sie in den vorcompilierten Header (PCH.h) einbeziehen möchten, und wählen Sie im Kontextmenü Lokale Optionen bearbeiten.
  7. Drücken Sie F9, um das Projekt auszuführen.

Im Folgenden finden Sie die BCC64-Befehlszeile für die Quelldatei, für die der vorcompilierte Header festgelegt ist. Beachten Sie die Befehlszeilenoption, mit der ein vorcompilierter Header in eine Quelldatei einbezogen wird (-include-pch):

PrecompiledHeaders.png

Siehe auch