.PCH

PCH-bestand

Precompiled Header File
Stel een vraag
SNEL ANTWOORD

Een PCH-bestand is een Precompiled Header - een binaire cache die automatisch wordt gegenereerd door een C++ compiler (Visual Studio, Clang of Xcode) om builds te versnellen door de geparseerde status van grote header-bestanden op te slaan. U hoeft er nooit handmatig een te openen of aan te maken. Als u een PCH-gerelateerde build-fout ziet, voer dan een Clean Build uit en bouw het project opnieuw op.

Ontwikkelaar: Microsoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format) Categorie: Ontwikkelaarsbestanden MIME: application/octet-stream
OPENT OP Windows macOS Linux
Gerelateerd: .DO · .MD · .HEX · .XSD

Op deze pagina

19k+ extensies geïndexeerd
Laatst beoordeeld op Sep 5, 2026

Niet zeker wat uw bestand is?

Sleep een bestand naar onze identificatietool - we lezen alleen de eerste bytes om het formaat te benoemen.

Identificeer een bestand

Wat is het PCH-bestandsformaat?

Een .pch-bestand is een vooraf gecompileerde header - een binaire compiler-cache die automatisch wordt gegenereerd tijdens het build-proces. In plaats van grote header-bestanden zoals de Windows SDK of stdafx.h bij elke compilatie-eenheid opnieuw te parsen, serialiseert de compiler zijn interne status - symbooltabellen, AST-nodes, macro-definities, include-guard flags - naar een .pch-snapshot. Opeenvolgende compilatie-eenheden laden die snapshot direct, wat de build-tijden voor grote C- en C++-projecten drastisch verkort.

MSVC produceert .pch-bestanden via de /Yc compiler-flag, meestal vanuit een specifiek stub-bronbestand genaamd pch.cpp of stdafx.cpp. Clang slaat zijn vooraf gecompileerde headers op als een gecomprimeerde LLVM-bitstream ingebed in een systeemeigen objectbestand in een sectie genaamd __clangast. Het equivalent van GCC gebruikt de extensie .gch in plaats van .pch.

Het formaat is volledig compiler-intern - bedrijfseigen, binair en niet overdraagbaar tussen machines. Een .pch-bestand wordt ongeldig zodra de compilerversie, compiler-flags of een van de opgenomen headers wijzigt; het build-systeem genereert het automatisch opnieuw. Typische groottes variëren van 10 MB tot meer dan 200 MB wanneer de Windows SDK-headers zijn inbegrepen.

Gebruikers maken of openen .pch-bestanden nooit handmatig. Het verwijderen ervan is veilig - de volgende build maakt het opnieuw aan, en een schone herbouw (clean rebuild) is de standaardoplossing voor hardnekkige PCH-gerelateerde fouten. C++20 Modules verminderen gedeeltelijk de afhankelijkheid van vooraf gecompileerde headers in nieuwe codebases, maar .pch blijft het dominante mechanisme voor compilatiesnelheid in bestaande C- en C++-projecten.

Beveiliging & veiligheid

RISICO: LOW

Een .pch is een intern build-artefact van de compiler. Het kan geen code uitvoeren en wordt niet uitgevoerd door het besturingssysteem. Geen betekenisvolle aanvalsvector; het bestand wordt lokaal gegenereerd door het build-systeem en is machine-specifiek.

Formaatdetails

in een notendop
VOLLEDIGE NAAMPrecompiled Header Fileook bekend als PCH file, precompiled header
ONTWIKKELAARMicrosoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format)sinds 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
TYPEBinaire compiler-cache (geserialiseerde compiler AST/symboolstatus)
GERELATEERD.do.md.hex.xsd
Deze extensie wordt ook gebruikt door…
  • Apple Xcode Prefix Header - Xcode (vóór Swift) gebruikte een .pch prefix-header (bronbestand, niet binair) om Objective-C headers vooraf te compileren; het concept is hetzelfde, maar het bestand is een tekstheader, niet de binaire output.

Programma's die PCH-bestanden openen

Windows2 apps
Microsoft Visual Studio Freemium Visual Studio maakt en gebruikt .pch automatisch bij het bouwen van C/C++-projecten. Als er PCH-fouten optreden: Build > Clean Solution, daarna Rebuild Solution. Open het .pch-bestand niet rechtstreeks - het is een binair build-artefact.
Visual Studio Code + C/C++ Extension Open-source De Clang- of MSVC-toolchain regelt de PCH-generatie tijdens de build; wordt niet handmatig geopend.
macOS1 app
Apple Xcode Gratis Xcode gebruikt .pch voor prefix-headers (tekstbron) en genereert intern binaire PCH-caches. Een schone build (Product > Clean Build Folder) lost PCH-fouten op.
Linux2 apps
GCC (command line) Open-source GCC genereert .gch-bestanden (geen .pch) voor vooraf gecompileerde headers. Let op: de PCH-outputextensie van GCC is .gch, niet .pch.
Clang (command line) Open-source clang -x c++-header header.h -o header.pch genereert een PCH; clang -include-pch header.pch gebruikt deze.

Technische details

diepe specificaties
BestandstypeBinaire compiler-cache (geserialiseerde AST- en symboolstatus)
CoderingBinair (compiler-interne representatie)
Byte-volgordeLittle-endian (MSVC op x86/x64); doelafhankelijk (Clang)
ContainerPropriëtaire binaire blob (MSVC); COFF/ELF/Mach-O objectbestand met ingebedde __clangast-sectie (Clang)
CompressieGeen (MSVC); gecomprimeerde LLVM-bitstream, op zlib gebaseerd (Clang)
Typische grootte10 MB - 200 MB; Windows SDK PCH gewoonlijk 50-200 MB
MSVC-generatievlag/Yc maakt de PCH aan; /Yu gebruikt deze in opeenvolgende compilatie-eenheden
Standaard bronbestandstdafx.cpp of pch.cpp in MSVC-projecten
MachinespecificiteitNiet overdraagbaar tussen machines; MSVC PCH bevat host-specifieke adresinformatie
OngeldigverklaringWordt automatisch opnieuw gegenereerd wanneer de compilerversie, flags of een opgenomen header wijzigt
GCC-equivalent.gch-extensie (GCC vooraf gecompileerde headers gebruiken geen .pch)
VersiedetectieMSVC sluit een interne handtekening in; weigert verouderde PCH-bestanden bij een mismatch in versie of flags
C++20-opvolgerC++20 Modules (.ifc in MSVC) vervangen PCH gedeeltelijk in nieuwe codebases
Bijbehorend OSWindows (MSVC), macOS (Xcode en Clang), Linux (Clang en GCC)
Uitgebracht1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
Laatste versieN/A - format is internal per compiler; MSVC PCH is regenerated by each compiler version
Specificatielearn.microsoft.com

Community V&A

gevraagd door gebruikers
Stel een korte vraag
Krijg hulp van mensen die met PCH-bestanden werken. Wees specifiek - vermeld uw systeem en softwareversie.
Geen account nodig · antwoorden meestal binnen een dag

Nog geen vragen - wees de eerste om iets te vragen over PCH-bestanden.

Veelgestelde vragen

Wat is een .pch-bestand en kan ik het verwijderen?
Het is een Precompiled Header - een binaire cache die door uw C++ compiler is gemaakt om builds te versnellen. U kunt het veilig verwijderen; de compiler zal het bij de volgende build opnieuw genereren (die dan eenmalig langzamer zal zijn).
Waarom krijg ik foutmeldingen over een .pch-bestand?
Meestal is de PCH verouderd - een niet-overeenkomende compilerversie of gewijzigde build-flags. Oplossing: voer een Clean Build uit (Build > Clean Solution in Visual Studio, en dan Rebuild).
Moet ik .pch-bestanden toevoegen aan versiebeheer?
Nee. Het zijn machine-specifieke binaire build-artefacten en ze kunnen honderden MB's groot zijn. Voeg *.pch toe aan .gitignore.
Hoe open ik een .pch-bestand?
Dat doet u niet - het is een binaire compiler-cache zonder menselijk leesbare inhoud. Als u de inhoud van de vooraf gecompileerde header wilt inspecteren, bekijk dan het bronbestand (.h) waaruit het is gegenereerd (stdafx.h of pch.h in Visual Studio-projecten).
Wordt .pch alleen gebruikt door Visual Studio?
Visual Studio is de belangrijkste gebruiker van de .pch-extensie. Clang maakt ook PCH-bestanden met een .pch-extensie aan. GCC gebruikt in plaats daarvan .gch. Het formaat van elke compiler is incompatibel met de andere.

Referenties

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

Blijf ontdekken

door de database

Populaire extensies deze week

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)

Gerelateerde extensies

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

Gratis bestandstools

Een bestandsidentificatie en afbeeldingsconverter in de browser - alles draait op uw eigen apparaat.

Open de gereedschapskist

Blader door bestandsextensies A-Z