.PCH

Archivo PCH

Precompiled Header File
Hacer una pregunta
RESPUESTA RÁPIDA

Un archivo PCH es una cabecera precompilada (Precompiled Header): una caché binaria generada automáticamente por un compilador de C++ (Visual Studio, Clang o Xcode) para acelerar las compilaciones guardando el estado analizado de archivos de cabecera grandes. Nunca se abre ni se crea manualmente. Si ve un error de compilación relacionado con PCH, realice una «Limpieza de la solución» (Clean Build) y vuelva a compilar el proyecto.

Desarrollador: Microsoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format) Categoría: Archivos de desarrollo MIME: application/octet-stream
SE ABRE EN Windows macOS Linux
Relacionado: .DO · .MD · .HEX · .XSD

En esta página

19k+ extensiones indexadas
Última revisión Sep 5, 2026

¿No está seguro de qué es su archivo?

Suelte cualquier archivo en nuestro identificador - leemos solo los primeros bytes para nombrar el formato.

Identificar un archivo

¿Qué es el formato de archivo PCH?

Un archivo .pch es una cabecera precompilada: una caché binaria del compilador generada automáticamente durante el proceso de compilación. En lugar de volver a analizar archivos de cabecera extensos como el Windows SDK o stdafx.h en cada unidad de compilación, el compilador serializa su estado interno (tablas de símbolos, nodos AST, definiciones de macros, indicadores de protección de inclusión) en una instantánea .pch. Las unidades de compilación posteriores cargan esa instantánea directamente, reduciendo drásticamente los tiempos de compilación para proyectos grandes de C y C++.

MSVC produce archivos .pch mediante el modificador de compilador /Yc, normalmente a partir de un archivo de código fuente dedicado llamado pch.cpp o stdafx.cpp. Clang almacena sus cabeceras precompiladas como un flujo de bits LLVM comprimido incrustado dentro de un archivo de objeto nativo en una sección llamada __clangast. El equivalente de GCC utiliza la extensión .gch en lugar de .pch.

El formato es totalmente interno del compilador: propietario, binario y no transferible entre máquinas. Un archivo .pch se invalida siempre que cambia la versión del compilador, los modificadores de compilación o cualquier cabecera incluida; el sistema de compilación lo regenera automáticamente. Los tamaños típicos oscilan entre 10 MB y más de 200 MB cuando se incluyen las cabeceras del Windows SDK.

Los usuarios nunca crean ni abren archivos .pch manualmente. Borrarlos es seguro: la siguiente compilación lo recreará, y una reconstrucción limpia es el remedio estándar para errores persistentes relacionados con PCH. Los Módulos de C++20 reducen parcialmente la dependencia de las cabeceras precompiladas en nuevas bases de código, pero .pch sigue siendo el mecanismo dominante de velocidad de compilación en proyectos existentes de C y C++.

Seguridad y protección

RIESGO: LOW

Un .pch es un artefacto de compilación interno del compilador. No puede ejecutar código y no es ejecutado por el SO. No hay un vector de ataque significativo; el archivo se genera localmente por el sistema de compilación y es específico de la máquina.

Detalles del formato

en pocas palabras
NOMBRE COMPLETOPrecompiled Header Filetambién conocido como PCH file, precompiled header
DESARROLLADORMicrosoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format)desde 1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
TIPO MIMEapplication/octet-stream
TIPOCaché binaria del compilador (estado de símbolos/AST del compilador serializado)
RELACIONADO.do.md.hex.xsd
Esta extensión también es utilizada por…
  • Apple Xcode Prefix Header - Xcode (antes de Swift) utilizaba una cabecera de prefijo .pch (archivo fuente, no binario) para precompilar cabeceras de Objective-C; el concepto es el mismo pero el archivo es una cabecera de texto, no la salida binaria.

Programas que abren archivos PCH

Windows2 apps
Microsoft Visual Studio Freemium Visual Studio crea y utiliza .pch automáticamente al compilar proyectos de C/C++. Si ocurren errores de PCH: Build > Clean Solution, luego Rebuild Solution. No abra el archivo .pch directamente; es un artefacto de compilación binario.
Visual Studio Code + C/C++ Extension Código abierto La cadena de herramientas de Clang o MSVC gestiona la generación de PCH durante la compilación; no se abre manualmente.
macOS1 app
Apple Xcode Gratis Xcode utiliza .pch para cabeceras de prefijo (fuente de texto) y genera cachés PCH binarias internamente. Una compilación limpia (Product > Clean Build Folder) resuelve los errores de PCH.
Linux2 apps
GCC (command line) Código abierto GCC genera archivos .gch (no .pch) para cabeceras precompiladas. Nota: la extensión de salida PCH de GCC es .gch, no .pch.
Clang (command line) Código abierto clang -x c++-header header.h -o header.pch genera un PCH; clang -include-pch header.pch lo utiliza.

Detalles técnicos

especificación profunda
Tipo de archivoCaché binaria del compilador (AST serializado y estado de símbolos)
CodificaciónBinario (representación interna del compilador)
Orden de bytesLittle-endian (MSVC en x86/x64); dependiente del objetivo (Clang)
ContenedorBlob binario propietario (MSVC); archivo de objeto COFF/ELF/Mach-O con sección __clangast incrustada (Clang)
CompresiónNinguna (MSVC); flujo de bits LLVM comprimido, basado en zlib (Clang)
Tamaño típico10 MB - 200 MB; el PCH del Windows SDK suele tener entre 50-200 MB
Modificador de generación MSVC/Yc crea el PCH; /Yu lo consume en unidades de compilación posteriores
Archivo fuente predeterminadostdafx.cpp o pch.cpp en proyectos de MSVC
Especificidad de máquinaNo transferible entre máquinas; el PCH de MSVC incluye información de direcciones específica del host
InvalidaciónSe regenera automáticamente cuando cambia la versión del compilador, los modificadores o cualquier cabecera incluida
Equivalente en GCCExtensión .gch (las cabeceras precompiladas de GCC no usan .pch)
Detección de versiónMSVC incrusta una firma interna; rechaza archivos PCH obsoletos si hay discrepancia de versión o modificadores
Sucesor en C++20Los Módulos de C++20 (.ifc en MSVC) reemplazan parcialmente al PCH en nuevas bases de código
SO asociadoWindows (MSVC), macOS (Xcode y Clang), Linux (Clang y GCC)
Lanzado1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
Última versiónN/A - format is internal per compiler; MSVC PCH is regenerated by each compiler version
Especificaciónlearn.microsoft.com

Preguntas y respuestas de la comunidad

preguntado por usuarios
Hacer una pregunta rápida
Obtenga ayuda de personas que trabajan con archivos PCH. Sea específico: incluya su sistema y la versión del software.
No se necesita cuenta · respuestas generalmente en un día

Aún no hay preguntas; sea el primero en preguntar sobre los archivos PCH.

Preguntas frecuentes

¿Qué es un archivo .pch y puedo borrarlo?
Es una cabecera precompilada (Precompiled Header), una caché binaria creada por su compilador de C++ para acelerar las compilaciones. Puede borrarlo de forma segura; el compilador lo regenerará en la siguiente compilación (que será más lenta esa única vez).
¿Por qué recibo errores sobre un archivo .pch?
Lo más común es que el PCH esté desactualizado: una versión de compilador que no coincide o cambios en los modificadores de compilación. Solución: realice una «Limpieza de la solución» (Build > Clean Solution en Visual Studio y luego Rebuild).
¿Debo incluir los archivos .pch en el control de versiones?
No. Son artefactos de compilación binarios específicos de cada máquina y pueden ocupar cientos de MB. Añada *.pch a su archivo .gitignore.
¿Cómo abro un archivo .pch?
No se abre: es una caché binaria del compilador sin contenido legible por humanos. Si desea inspeccionar el contenido de la cabecera precompilada, consulte el archivo fuente .h del que se generó (stdafx.h o pch.h en proyectos de Visual Studio).
¿Se usa .pch solo en Visual Studio?
Visual Studio es el principal usuario de la extensión .pch. Clang también crea archivos PCH con extensión .pch. GCC utiliza .gch en su lugar. El formato de cada compilador es incompatible con los demás.

Referencias

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

Siga explorando

en toda la base de datos

Extensiones principales esta semana

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)

Extensiones relacionadas

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

Herramientas de archivo gratuitas

Un identificador de archivos y convertidor de imágenes en el navegador - todo se ejecuta en su dispositivo.

Abrir la caja de herramientas

Explorar extensiones de archivo A-Z