コンパイル

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

コンパイルとは、プログラミング言語(主に高級言語)で書かれたプログラムをCPUが解釈可能な形式(いわゆる機械語)もしくはそれに準ずる形式(アセンブラなど)に変換する処理のことである。

概要[編集]

人間が用いるプログラミング言語としては「オンオフ」があるが、「人間にわかりやすい表記によって機械語を記述する」ために「ニモニック」が生まれた。この作業を「アセンブル」といい、それをコンピュータによって自動化したものがアセンブラである[1]
基本的には、コンパイル方式のプログラミング言語のほとんどが直接コンピューターが解釈できない形式のため、それを機械語に変換する処理を指す。
プログラムはファイル単位で分割されて開発され、個別にコンパイルされることが多い、それぞれのプログラムの断片を変換する部分がコンパイルである。実行形式にするには、それぞれの断片を1つの実行形式という塊に結合する処理があるが、これをリンクといい、これを行うツールをリンカー(jawp:リンケージエディター)という。
広義では、あるプログラミング言語を別のプログラミング言語に変換するものもコンパイルに含むことがある。

コンパイルするツールをコンパイラという。コンパイラは、プログラミング言語の処理系の一つである。
標準規格が定められたプログラミング言語(ANSI C など)では、複数のコンパイラが存在することは多い。製品として複数のベンダーがそれぞれコンパイラをリリースすることは普通にある。
コンパイラは、CPUに解釈可能な形式に変換するという性質上、プラットフォームごとに用意する必要がある[2]。中間言語(仮想機械の機械語)にコンパイルするのであれば、プラットフォーム共通にできる場合もある[3]

脚注[編集]

  1. 人間がやる場合は、「ハンドアセンブル」という。
  2. これをネイティブ・コンパイラという。
  3. Pascal の P-System や Java のJVM など。

関連項目[編集]