.PCH

PCH ファイル

Precompiled Header File
質問する
クイック回答

PCH ファイルはプリコンパイル済みヘッダー(Precompiled Header)です。これは C++ コンパイラ(Visual Studio、Clang、または Xcode)がビルドを高速化するために、大規模なヘッダーファイルの解析状態を保存して自動生成するバイナリキャッシュです。手動で開いたり作成したりすることはありません。PCH 関連のビルドエラーが発生した場合は、「ビルドのクリーン」を実行してからプロジェクトを再ビルドしてください。

開発元: Microsoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format) カテゴリ: 開発用ファイル MIME: application/octet-stream
対応OS Windows macOS Linux
関連: .DO · .MD · .HEX · .XSD

このページの内容

19k+ 個の拡張子を索引済み
最終確認日:Sep 5, 2026

ファイルの種類がわかりませんか?

ファイルを識別ツールにドロップしてください。最初の数バイトを読み取って形式を特定します。

ファイルを識別する

PCH ファイル形式とは?

.pch ファイルはプリコンパイル済みヘッダーであり、ビルドプロセス中に自動生成されるバイナリ形式のコンパイラキャッシュです。コンパイル単位ごとに Windows SDK や stdafx.h などの巨大なヘッダーファイルを再解析する代わりに、コンパイラはその内部状態(シンボルテーブル、AST ノード、マクロ定義、インクルードガードフラグなど)を .pch スナップショットとしてシリアル化します。後続のコンパイル単位はこのスナップショットを直接ロードするため、大規模な C および C++ プロジェクトのビルド時間を劇的に短縮できます。

MSVC は通常、pch.cpp または stdafx.cpp という名前の専用スタブソースファイルから、/Yc コンパイラフラグを介して .pch ファイルを生成します。Clang はプリコンパイル済みヘッダーを、ネイティブオブジェクトファイルの __clangast という名前のセクションに埋め込まれた圧縮 LLVM ビットストリームとして保存します。GCC の同等形式は、.pch ではなく .gch 拡張子を使用します。

この形式は完全にコンパイラ内部のものであり、プロプライエタリなバイナリで、マシン間での転送はできません。.pch ファイルは、コンパイラのバージョン、コンパイラフラグ、または含まれるヘッダーのいずれかが変更されるたびに無効化され、ビルドシステムによって自動的に再生成されます。一般的なサイズは 10 MB から、Windows SDK ヘッダーが含まれる場合は 200 MB 以上に及ぶこともあります。

ユーザーが手動で .pch ファイルを作成したり開いたりすることはありません。削除しても安全です。次回のビルドで再作成されます。また、永続的な PCH 関連のエラーに対する標準的な解決策は、クリーン再ビルドです。C++20 モジュールは、新しいコードベースにおいてプリコンパイル済みヘッダーへの依存を部分的に減らしますが、既存の C および C++ プロジェクトでは依然として .pch が主要なコンパイル高速化メカニズムです。

セキュリティと安全性

リスク: LOW

.pch はコンパイラ内部のビルド成果物です。コードを実行することはできず、OS によって実行されることもありません。有意な攻撃ベクトルはありません。ファイルはビルドシステムによってローカルで生成され、マシン固有のものです。

形式の詳細

概要
正式名称Precompiled Header File別名 PCH file, precompiled header
開発元Microsoft (MSVC); also Clang/LLVM and GCC (each with proprietary binary format)登場時期 1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
MIME タイプapplication/octet-stream
タイプバイナリコンパイラキャッシュ(シリアル化されたコンパイラ AST/シンボル状態)
この拡張子は以下でも使用されています…
  • Apple Xcode プリフィックスヘッダー - Xcode(Swift 以前)は、Objective-C ヘッダーをプリコンパイルするために .pch プリフィックスヘッダー(バイナリではなくソースファイル)を使用していました。概念は同じですが、ファイルはバイナリ出力ではなくテキストヘッダーです。

PCH ファイルを開くプログラム

Windows2 apps
Microsoft Visual Studio フリーミアム Visual Studio は C/C++ プロジェクトのビルド時に自動的に .pch を作成・使用します。PCH エラーが発生した場合は、「ビルド」>「ソリューションのクリーン」を実行してから「ソリューションの再ビルド」を行ってください。.pch ファイルを直接開かないでください。これはバイナリビルド成果物です。
Visual Studio Code + C/C++ Extension オープンソース ビルド中に Clang または MSVC ツールチェーンが PCH 生成を処理します。手動で開くことはありません。
macOS1 app
Apple Xcode 無料 Xcode はプリフィックスヘッダー(テキストソース)に .pch を使用し、内部的にバイナリ PCH キャッシュを生成します。クリーンビルド(Product > Clean Build Folder)で PCH エラーが解決します。
Linux2 apps
GCC (command line) オープンソース GCC はプリコンパイル済みヘッダーとして .gch ファイル(.pch ではない)を生成します。注意:GCC の PCH 出力拡張子は .pch ではなく .gch です。
Clang (command line) オープンソース 「clang -x c++-header header.h -o header.pch」で PCH を生成し、「clang -include-pch header.pch」で使用します。

技術的詳細

詳細仕様
ファイルタイプバイナリコンパイラキャッシュ(シリアル化された AST およびシンボル状態)
エンコーディングバイナリ(コンパイラ内部表現)
バイト順序リトルエンディアン(x86/x64 上の MSVC)、ターゲット依存(Clang)
コンテナプロプライエタリなバイナリブロブ(MSVC)、__clangast セクションが埋め込まれた COFF/ELF/Mach-O オブジェクトファイル(Clang)
圧縮なし(MSVC)、圧縮 LLVM ビットストリーム、zlib ベース(Clang)
一般的なサイズ10 MB - 200 MB。Windows SDK PCH は通常 50-200 MB
MSVC 生成フラグ/Yc で PCH を作成、/Yu で後続のコンパイル単位で使用
デフォルトのソースファイルMSVC プロジェクトにおける stdafx.cpp または pch.cpp
マシン固有性マシン間での転送不可。MSVC PCH にはホスト固有のアドレス情報が含まれます
無効化条件コンパイラのバージョン、フラグ、または含まれるヘッダーが変更されると自動的に再生成
GCC の同等形式.gch 拡張子(GCC のプリコンパイル済みヘッダーは .pch を使用しません)
バージョン検出MSVC は内部署名を埋め込み、バージョンやフラグの不一致時に古い PCH ファイルを拒否します
C++20 後継機能C++20 モジュール(MSVC では .ifc)が新しいコードベースで PCH を部分的に置き換えます
関連 OSWindows (MSVC), macOS (Xcode および Clang), Linux (Clang および GCC)
リリース日1988 (Microsoft C Compiler 6.0 for MS-DOS, first PCH implementation); mainstream adoption with MSVC for Windows in the 1990s
最新バージョンN/A - format is internal per compiler; MSVC PCH is regenerated by each compiler version
仕様書learn.microsoft.com

コミュニティ Q&A

ユーザーからの質問
質問する
PCH ファイルを扱うユーザーからヘルプを得られます。OSやソフトウェアのバージョンなど、具体的に記載してください。
アカウント不要 ・ 通常1日以内に回答されます

まだ質問はありません。PCH ファイルについて最初の質問をしてみましょう。

よくある質問

.pch ファイルとは何ですか?削除しても大丈夫ですか?
これはプリコンパイル済みヘッダーです。C++ コンパイラがビルドを高速化するために作成するバイナリキャッシュです。安全に削除できます。コンパイラは次回のビルド時に再生成します(その回のビルドのみ低速になります)。
.pch ファイルに関するエラーが出るのはなぜですか?
多くの場合、PCH が古くなっている(コンパイラバージョンの不一致やビルドフラグの変更)ことが原因です。解決策:クリーンビルドを実行してください(Visual Studio では「ビルド」>「ソリューションのクリーン」の後に「再ビルド」)。
.pch ファイルをソース管理(Git など)にコミットすべきですか?
いいえ。これらはマシン固有のバイナリビルド成果物であり、数百 MB になることもあります。.gitignore に *.pch を追加してください。
.pch ファイルはどうやって開きますか?
開く必要はありません。人間が読める内容を含まないバイナリコンパイラキャッシュです。プリコンパイル済みヘッダーの内容を確認したい場合は、その生成元となったソースの .h ファイル(Visual Studio プロジェクトでは stdafx.h や pch.h)を参照してください。
.pch は Visual Studio だけで使われますか?
Visual Studio は .pch 拡張子の主要な利用者です。Clang も .pch 拡張子で PCH ファイルを作成します。GCC は代わりに .gch を使用します。各コンパイラの形式には互換性がありません。

参考文献

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

さらに探索

データベース全体から

今週のトップ拡張子

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)

関連する拡張子

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

無料ファイルツール

ブラウザで動作するファイル識別および画像変換ツール。すべてお使いのデバイス上で実行されます。

ツールボックスを開く

ファイル拡張子を A-Z で閲覧