プログラミング言語で記述されたソフトウエアの設計図をソース・コードと言います。これをコンピュータが実行可能な形式に変換する作業が「コンパイル」です。コンパイルによって変換された,コンピュータが実行可能な形式は,オブジェクト・コード(機械語)と呼ばれます。

 コンパイルは通常,ソフトウエアを開発する上で必要な作業です。ソース・コードはテキスト形式であるため,人が読んで理解することができます。しかしオブジェクト・コードは,コンピュータが理解できる2進数もしくはそれに準じた形式(バイナリ)になっているため,普通は理解できません。

 コンパイルを行うプログラムを,コンパイラと言います。コンパイラは,ソース・コードを解析して,必要があれば外部のライブラリやオブジェクト・コードを使って,変換作業を行います。

 Linuxでは,GCC(GNU Compiler Collection)と呼ばれるコンパイラ群がよく利用されます。例えば,C言語で記述されたソース・コードをコンパイルする際には,このGCCとC言語の標準ライブラリ群であるglibcなどが必要になります。