.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.BINCD/DVD Disc Image (BIN/CUE)
5.RPMSGRestricted Permission Message
6.MDMarkdown Document
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.PRDXSoftMaker Presentations Document
10.EXEWindows Executable (Portable Executable)

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