C++ ソース コードをコンパイルするプロセスは、次の 4 つの段階で構成されます。
- 前処理: この段階では、ソース コードがプリプロセッサを使用して処理され、前処理された中間ファイルが生成されます。
2. コンパイル: この段階では、前処理された中間ファイルがアセンブリ言語で表現されたオブジェクト ファイルにコンパイルされます。生成されるファイルは通常、HelloWorld.i や HelloWorld.ii などの拡張子を
.i
持つ中間ファイルです。.ii
3. アセンブリ (アセンブル): この段階では、アセンブラはアセンブリ言語で表現されたオブジェクト ファイルを機械可読オブジェクト ファイルにアセンブルします。結果として得られるファイルは、通常、
.s
または.asm
の拡張子が付いたアセンブリ言語ファイルです (例: HelloWorld.s または HelloWorld.asm)。
4. リンク (リンク): この段階では、リンカはさまざまなオブジェクト ファイルとライブラリ ファイルをリンクして、最終的な実行可能プログラムを生成します。生成されたファイルは、HelloWorld.o や HelloWorld.obj などの拡張子が
.o
付いたオブジェクト ファイルです。.obj
生成されるファイルは通常、 HelloWorld.exe などの実行可能ファイルまたは拡張子が 、または のダイナミック リンク ライブラリ ファイルです
.exe
。.dll
.so
したがって、これら 4 つの段階の組み合わせは、「前処理、コンパイル、アセンブリおよびリンク」(Preprocessing、Compilation、Assembly and Linking、PCAL と呼ばれる) とも呼ばれます。