.PCH

Arquivo PCH

Precompiled Header File
Fazer uma pergunta
RESPOSTA RÁPIDA

Um arquivo PCH é um Precompiled Header - um cache binário gerado automaticamente por um compilador C++ (Visual Studio, Clang ou Xcode) para acelerar as compilações, salvando o estado analisado de arquivos de cabeçalho grandes. Você nunca abre ou cria um manualmente. Se encontrar um erro de compilação relacionado ao PCH, execute um Clean Build e recompile o projeto.

Desenvolvedor: Microsoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format) Categoria: Arquivos de Desenvolvedor MIME: application/octet-stream
ABRE EM Windows macOS Linux
Relacionado: .DO · .MD · .HEX · .XSD

Nesta página

19k+ extensões indexadas
Última revisão em Sep 5, 2026

Não tem certeza do que é seu arquivo?

Arraste qualquer arquivo para o nosso identificador - lemos apenas os primeiros bytes para nomear o formato.

Identificar um arquivo

O que é o formato de ficheiro PCH?

Um arquivo .pch é um cabeçalho pré-compilado - um cache binário do compilador gerado automaticamente durante o processo de build. Em vez de analisar novamente arquivos de cabeçalho grandes, como o Windows SDK ou stdafx.h, em cada unidade de compilação, o compilador serializa seu estado interno - tabelas de símbolos, nós AST, definições de macro, sinalizadores de include-guard - em um instantâneo .pch. As unidades de compilação subsequentes carregam esse instantâneo diretamente, reduzindo drasticamente os tempos de build para grandes projetos C e C++.

O MSVC produz arquivos .pch por meio da flag de compilador /Yc, normalmente a partir de um arquivo de origem stub dedicado chamado pch.cpp ou stdafx.cpp. O Clang armazena seus cabeçalhos pré-compilados como um bitstream LLVM compactado incorporado dentro de um arquivo de objeto nativo em uma seção chamada __clangast. O equivalente do GCC usa a extensão .gch em vez de .pch.

O formato é inteiramente interno do compilador - proprietário, binário e não transferível entre máquinas. Um arquivo .pch é invalidado sempre que a versão do compilador, as flags do compilador ou qualquer cabeçalho incluído mudam; o sistema de build o regenera automaticamente. Os tamanhos típicos variam de 10 MB a mais de 200 MB quando os cabeçalhos do Windows SDK estão incluídos.

Os usuários nunca criam ou abrem arquivos .pch manualmente. Excluir um é seguro - o próximo build o recria, e um clean rebuild é o remédio padrão para erros persistentes relacionados ao PCH. Os Módulos C++20 reduzem parcialmente a dependência de cabeçalhos pré-compilados em novas bases de código, mas o .pch continua sendo o mecanismo dominante de velocidade de compilação em projetos C e C++ existentes.

Segurança e proteção

RISCO: LOW

Um .pch é um artefato interno de build do compilador. Ele não pode executar código e não é executado pelo SO. Nenhum vetor de ataque significativo; o arquivo é gerado localmente pelo sistema de build e é específico da máquina.

Detalhes do formato

em resumo
NOME COMPLETOPrecompiled Header Filetambém conhecido como PCH file, precompiled header
DESENVOLVEDORMicrosoft (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
TIPOCache binário do compilador (AST do compilador/estado de símbolos serializados)
RELACIONADO.do.md.hex.xsd
Esta extensão também é usada por…
  • Apple Xcode Prefix Header - O Xcode (pré-Swift) usava um prefix header .pch (arquivo fonte, não binário) para pré-compilar cabeçalhos Objective-C; o conceito é o mesmo, mas o arquivo é um cabeçalho de texto, não a saída binária.

Programas que abrem arquivos PCH

Windows2 apps
Microsoft Visual Studio Freemium O Visual Studio cria e usa .pch automaticamente ao compilar projetos C/C++. Se ocorrerem erros de PCH: Build > Clean Solution, depois Rebuild Solution. Não abra o arquivo .pch diretamente - é um artefato de build binário.
Visual Studio Code + C/C++ Extension Código aberto O toolchain Clang ou MSVC gerencia a geração de PCH durante o build; não é aberto manualmente.
macOS1 app
Apple Xcode Gratuito O Xcode usa .pch para prefix headers (fonte de texto) e gera caches PCH binários internamente. Um clean build (Product > Clean Build Folder) resolve erros de PCH.
Linux2 apps
GCC (command line) Código aberto O GCC gera arquivos .gch (não .pch) para cabeçalhos pré-compilados. Nota: a extensão de saída PCH do GCC é .gch, não .pch.
Clang (command line) Código aberto clang -x c++-header header.h -o header.pch gera um PCH; clang -include-pch header.pch o utiliza.

Detalhes técnicos

especificação profunda
Tipo de arquivoCache binário do compilador (AST serializada e estado de símbolos)
CodificaçãoBinário (representação interna do compilador)
Ordem dos bytesLittle-endian (MSVC em x86/x64); dependente do alvo (Clang)
ContêinerBlob binário proprietário (MSVC); arquivo de objeto COFF/ELF/Mach-O com seção __clangast incorporada (Clang)
CompressãoNenhuma (MSVC); bitstream LLVM compactado, baseado em zlib (Clang)
Tamanho típico10 MB - 200 MB; PCH do Windows SDK comumente 50-200 MB
Flag de geração MSVC/Yc cria o PCH; /Yu o consome em unidades de compilação subsequentes
Arquivo fonte padrãostdafx.cpp ou pch.cpp em projetos MSVC
Especificidade da máquinaNão transferível entre máquinas; o PCH do MSVC inclui informações de endereço específicas do host
InvalidaçãoRegenerado automaticamente quando a versão do compilador, flags ou qualquer cabeçalho incluído muda
Equivalente GCCExtensão .gch (cabeçalhos pré-compilados do GCC não usam .pch)
Detecção de versãoO MSVC incorpora uma assinatura interna; rejeita arquivos PCH obsoletos em caso de incompatibilidade de versão ou flag
Sucessor C++20Módulos C++20 (.ifc no MSVC) substituem parcialmente o PCH em novas bases de código
SO associadoWindows (MSVC), macOS (Xcode e Clang), Linux (Clang e GCC)
Lançado1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
Versão mais recenteN/A - format is internal per compiler; MSVC PCH is regenerated by each compiler version
Especificaçãolearn.microsoft.com

Perguntas e Respostas da Comunidade

perguntado por usuários
Faça uma pergunta rápida
Obtenha ajuda de pessoas que trabalham com arquivos PCH. Seja específico - inclua seu sistema e a versão do software.
Não é necessário criar conta · respostas geralmente em um dia

Ainda não há perguntas - seja o primeiro a perguntar sobre arquivos PCH.

Perguntas frequentes

O que é um arquivo .pch e posso excluí-lo?
É um Precompiled Header - um cache binário criado pelo seu compilador C++ para acelerar as compilações. Você pode excluí-lo com segurança; o compilador o regenerará no próximo build (que será mais lento apenas dessa vez).
Por que estou recebendo erros sobre um arquivo .pch?
Geralmente, o PCH está obsoleto - versão do compilador incompatível ou flags de build alteradas. Correção: faça um Clean Build (Build > Clean Solution no Visual Studio, depois Rebuild).
Devo enviar arquivos .pch para o controle de versão?
Não. Eles são artefatos de build binários específicos da máquina e podem ter centenas de MB. Adicione *.pch ao .gitignore.
Como abro um arquivo .pch?
Você não abre - é um cache binário do compilador sem conteúdo legível por humanos. Se quiser inspecionar o conteúdo do cabeçalho pré-compilado, examine o arquivo fonte .h do qual ele foi gerado (stdafx.h ou pch.h em projetos Visual Studio).
O .pch é usado apenas pelo Visual Studio?
O Visual Studio é o principal usuário da extensão .pch. O Clang também cria arquivos PCH com a extensão .pch. O GCC usa .gch em vez disso. O formato de cada compilador é incompatível com os outros.

Referências

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

Continue explorando

em todo o banco de dados

Principais extensões desta 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)

Extensões relacionadas

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

Ferramentas de arquivo gratuitas

Um identificador de arquivos e conversor de imagens no navegador - tudo funciona no seu dispositivo.

Abrir a caixa de ferramentas

Navegar por extensões de arquivo A-Z