プログラム

コンパイルとは

2020年11月14日

コンパイル

コンパイル(英:compile)とは、人間が解釈しやすい高水準言語で書かれたソースコードを、コンピュータが解釈しやすい低水準言語のコード(機械語)を変換することで、コンパイルするために利用するソフトウェアのことをコンパイラ(英compiler)といいます。

コンパイルはなぜ必要なの?

プログラミング言語は、人間が理解しやすいように作られているため、コンピュータはプログラミング言語で書かれたプログラムを理解できません。

プログラミング言語をコンピュータは理解できない

そのため、プログラミング言語で作られたプログラムを、コンピュータが理解できるように変換する必要があります。この変換作業のことをコンパイルといい、そのためのソフトウェアのことをコンパイラといいます。

コンパイラ型言語とインタプリタ型言語

プログラミング言語で作られたプログラムを、コンピュータが理解できる機械語に変換する方法には、「コンパイラ」を使うコンパイラ型の言語と「インタプリタ」を使うインタプリタ型の言語があります。

コンパイラ型とインタプリタ型の主な言語は次の通りです。

バイナリへと変換する手法主な言語
コンパイラC言語、C++、C#、Objective-Cなど
インタプリタRuby、Python、シェルスクリプト、Perlなど

コンパイラは、プログラミング言語をコンピュータが理解できる機械語へ変換するためのソフトウェアです。

コンパイラのイメージ例

それに対して、インタプリタは1行ずつ解釈しながら実行していくソフトウェアです。

そして、このインタプリタはスクリプト言語などで利用されています。

※注意:スクリプト言語のほとんどがインタプリタ方式を採用していますが、必ずしもスクリプト言語がインタプリタ方式であるとは限りません。

インタプリタのイメージ例

ポイント

コンパイラ:ソースコード →(コンパイル)→ 機械語 → 実行(機械語に変換してから実行

インタプリタ:ソースコード→ 実行(1行ずつ解釈しながら実行

helpful