コンパイルは、高級言語で記述されたソースコードを、コンピュータで実行できる機械語で記述された、実行可能ファイルに変換することをいいます。ただし、プログラムの実行を開始してからコンパイルを行う動的コンパイルという方法も存在します。
ほとんどのプログラムは、複数のソースファイルによって構成されていますが、コンパイラは、1つのソースファイルに対して、1つのオブジェクトファイルを生成し、それらをリンカによって結合(リンク)するという方式を取ります。C言語や C++ ではほとんどの場合、この方法がとられます。
主としてコンパイラを用いるプログラミング言語は、コンパイラ型言語と呼ばれます。ただし、原理的に、ほかの方法が絶対に不可能ということではなく、たとえば、その言語向けのインタプリタを作成することも可能であるはずです。
コンパイラは、プログラミング言語の種類ごとに異なるものが存在します。また、変換後の形式は、ターゲットとなるCPUによって異なるため(命令セットが異なるから)、ターゲットごとにも異なるものが必要になります。あるいは、コンパイラは1つで、コンパイル方法を指定するコンパイラオプションを使うなどして、複数のプログラミング言語やターゲットに対応できることがあります。
また、コンパイラを、テキストエディタやデバッガなどのプログラミングに必要な各種のツールとともにパッケージングした統合開発環境(IDE)と呼ばれる製品があります。たとえば、Visual Studio は Windows をターゲットにした開発でよく使われています。
コンパイラの具体例としては、gcc や clang が有名でよく使われています。Visual Studio をコンパイラとして挙げる場合もありますが、前述したように、これは統合開発環境であって、コンパイラと呼べるのは、その中に含まれた一部分だけです(たとえばC言語や C++ 向けには、cl.exe という実行可能ファイルが含まれており、これがコンパイラの本体です)。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |