.PCH

PCH Datei

Precompiled Header File
Frage stellen
SCHNELLE ANTWORT

Eine PCH-Datei ist ein vorkompilierter Header (Precompiled Header) - ein binärer Cache, der automatisch von einem C++-Compiler (Visual Studio, Clang oder Xcode) generiert wird, um Builds zu beschleunigen, indem der analysierte Zustand großer Header-Dateien gespeichert wird. Sie müssen diese Datei niemals manuell öffnen oder erstellen. Wenn ein PCH-bezogener Build-Fehler auftritt, führen Sie einen „Clean Build” durch und erstellen Sie das Projekt neu.

Entwickler: Microsoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format) Kategorie: Developerdateien MIME: application/octet-stream
VERFÜGBAR AUF Windows macOS Linux
Verwandt: .DO · .MD · .HEX · .XSD

Auf dieser Seite

19k+ Erweiterungen indexiert
Zuletzt geprüft Sep 5, 2026

Nicht sicher, was Ihre Datei ist?

Legen Sie eine beliebige Datei in unseren Identifikator - wir lesen nur die ersten Bytes, um das Format zu benennen.

Datei identifizieren

Was ist das PCH-Dateiformat?

Eine .pch-Datei ist ein vorkompilierter Header - ein binärer Compiler-Cache, der automatisch während des Build-Prozesses generiert wird. Anstatt große Header-Dateien wie das Windows SDK oder stdafx.h bei jeder Kompiliereinheit neu zu analysieren, serialisiert der Compiler seinen internen Zustand - Symboltabellen, AST-Knoten, Makrodefinitionen, Include-Guard-Flags - in einen .pch-Snapshot. Nachfolgende Kompiliereinheiten laden diesen Snapshot direkt, was die Build-Zeiten für große C- und C++-Projekte drastisch verkürzt.

MSVC erzeugt .pch-Dateien über das Compiler-Flag /Yc, typischerweise aus einer dedizierten Stub-Quelldatei namens pch.cpp oder stdafx.cpp. Clang speichert seine vorkompilierten Header als komprimierten LLVM-Bitstream, der in einer nativen Objektdatei in einer Sektion namens __clangast eingebettet ist. Das Äquivalent von GCC verwendet die Erweiterung .gch anstelle von .pch.

Das Format ist vollständig compiler-intern - proprietär, binär und nicht zwischen Maschinen übertragbar. Eine .pch-Datei wird ungültig, sobald sich die Compiler-Version, die Compiler-Flags oder ein enthaltene Header ändert; das Build-System generiert sie dann automatisch neu. Typische Größen liegen zwischen 10 MB und über 200 MB, wenn die Windows SDK-Header enthalten sind.

Benutzer erstellen oder öffnen .pch-Dateien niemals manuell. Das Löschen ist sicher - der nächste Build erstellt sie neu, und ein sauberer Rebuild ist die Standardlösung für hartnäckige PCH-bezogene Fehler. C++20 Modules reduzieren teilweise die Abhängigkeit von vorkompilierten Headern in neuen Codebasen, aber .pch bleibt der dominierende Mechanismus zur Beschleunigung der Kompilierung in bestehenden C- und C++-Projekten.

Sicherheit

RISIKO: LOW

Ein .pch ist ein internes Build-Artefakt des Compilers. Er kann keinen Code ausführen und wird nicht vom Betriebssystem ausgeführt. Kein nennenswerter Angriffsvektor; die Datei wird lokal vom Build-System generiert und ist maschinenspezifisch.

Formatdetails

kurz gefasst
VOLLSTÄNDIGER NAMEPrecompiled Header Filealias PCH file, precompiled header
ENTWICKLERMicrosoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format)seit 1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
MIME TYPEapplication/octet-stream
TYPBinärer Compiler-Cache (serialisierter Compiler-AST/Symbolzustand)
Diese Erweiterung wird auch verwendet von…
  • Apple Xcode Prefix Header - Xcode (vor Swift) verwendete einen .pch Prefix-Header (Quelldatei, nicht binär), um Objective-C-Header vorzukompilieren; das Konzept ist das gleiche, aber die Datei ist ein Text-Header, nicht die binäre Ausgabe.

Programme zum Öffnen von PCH-Dateien

Windows2 apps
Microsoft Visual Studio Freemium Visual Studio erstellt und verwendet .pch automatisch beim Erstellen von C/C++-Projekten. Wenn PCH-Fehler auftreten: Erstellen > Projektmappe bereinigen, dann Projektmappe neu erstellen. Öffnen Sie die .pch-Datei nicht direkt - sie ist ein binäres Build-Artefakt.
Visual Studio Code + C/C++ Extension Open Source Die Clang- oder MSVC-Toolchain übernimmt die PCH-Generierung während des Builds; wird nicht manuell geöffnet.
macOS1 app
Apple Xcode Kostenlos Xcode verwendet .pch für Prefix-Header (Textquelle) und generiert intern binäre PCH-Caches. Ein Clean Build (Product > Clean Build Folder) behebt PCH-Fehler.
Linux2 apps
GCC (command line) Open Source GCC generiert .gch-Dateien (nicht .pch) für vorkompilierte Header. Hinweis: Die PCH-Ausgabeerweiterung von GCC ist .gch, nicht .pch.
Clang (command line) Open Source clang -x c++-header header.h -o header.pch generiert einen PCH; clang -include-pch header.pch verwendet ihn.

Technische Details

technische Spezifikation
DateitypBinärer Compiler-Cache (serialisierter AST- und Symbolzustand)
KodierungBinär (compiler-interne Repräsentation)
Byte-ReihenfolgeLittle-endian (MSVC auf x86/x64); zielabhängig (Clang)
ContainerProprietärer binärer Blob (MSVC); COFF/ELF/Mach-O Objektdatei mit eingebetteter __clangast Sektion (Clang)
KompressionKeine (MSVC); komprimierter LLVM-Bitstream, zlib-basiert (Clang)
Typische Größe10 MB - 200 MB; Windows SDK PCH üblicherweise 50-200 MB
MSVC-Generierungsflag/Yc erstellt den PCH; /Yu verwendet ihn in nachfolgenden Kompiliereinheiten
Standard-Quelldateistdafx.cpp oder pch.cpp in MSVC-Projekten
MaschinenspezifitätNicht zwischen Maschinen übertragbar; MSVC PCH enthält hostspezifische Adressinformationen
InvalidierungWird automatisch neu generiert, wenn Compiler-Version, Flags oder enthaltene Header sich ändern
GCC-Äquivalent.gch Erweiterung (GCC Precompiled Headers verwenden kein .pch)
VersionserkennungMSVC bettet interne Signatur ein; lehnt veraltete PCH-Dateien bei Versions- oder Flag-Konflikten ab
C++20-NachfolgerC++20 Modules (.ifc in MSVC) ersetzen PCH teilweise in neuen Codebasen
Zugehöriges OSWindows (MSVC), macOS (Xcode und Clang), Linux (Clang und GCC)
Veröffentlicht1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
Neueste VersionN/A - format is internal per compiler; MSVC PCH is regenerated by each compiler version
Spezifikationlearn.microsoft.com

Community Q&A

von Nutzern gefragt
Schnelle Frage stellen
Holen Sie sich Hilfe von Menschen, die mit PCH-Dateien arbeiten. Seien Sie konkret - geben Sie Ihr System und die Softwareversion an.
Kein Konto erforderlich · Antworten meist innerhalb eines Tages

Noch keine Fragen - stellen Sie die erste Frage zu PCH-Dateien.

Häufig gestellte Fragen

Was ist eine .pch-Datei und kann ich sie löschen?
Es handelt sich um einen Precompiled Header - einen binären Cache, der von Ihrem C++-Compiler erstellt wurde, um Builds zu beschleunigen. Sie können sie sicher löschen; der Compiler wird sie beim nächsten Build neu generieren (was dieses eine Mal langsamer sein wird).
Warum erhalte ich Fehlermeldungen zu einer .pch-Datei?
Meistens ist der PCH veraltet - etwa durch eine falsche Compiler-Version oder geänderte Build-Flags. Lösung: Führen Sie einen Clean Build durch („Projektmappe bereinigen” in Visual Studio, dann neu erstellen).
Sollte ich .pch-Dateien in die Versionsverwaltung (Git) aufnehmen?
Nein. Es handelt sich um maschinenspezifische binäre Build-Artefakte, die hunderte MB groß sein können. Fügen Sie *.pch zur .gitignore hinzu.
Wie öffne ich eine .pch-Datei?
Gar nicht - es ist ein binärer Compiler-Cache ohne menschenlesbaren Inhalt. Wenn Sie den Inhalt des vorkompilierten Headers untersuchen möchten, schauen Sie sich die Quell-Header-Datei (.h) an, aus der er generiert wurde (stdafx.h oder pch.h in Visual Studio-Projekten).
Wird .pch nur von Visual Studio verwendet?
Visual Studio ist der Hauptnutzer der .pch-Erweiterung. Clang erstellt ebenfalls PCH-Dateien mit der Endung .pch. GCC verwendet stattdessen .gch. Das Format jedes Compilers ist inkompatibel mit den anderen.

Quellen

1Microsoft Learn - Creating Precompiled Header Files (MSVC)learn.microsoft.com
2GCC - Precompiled Headersgcc.gnu.org

Weiter entdecken

in der Datenbank

Top-Erweiterungen dieser Woche

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.M4AMPEG-4 Audio File
5.EXEWindows Executable (Portable Executable)
6.ICSiCalendar data file
7.JSONJavaScript Object Notation file
8.TAGDataFlex Query Tag Name File
9.DATProgram Data File (generic)
10.NUPESET Nod32 Antivirus update file

Verwandte Erweiterungen

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Kostenlose Datei-Tools

Ein Browser-Dateiidentifikator und Bildkonverter - alles läuft auf Ihrem Gerät.

Toolbox öffnen

Dateierweiterungen A-Z durchsuchen