先頭へ戻る

コンパイラ | Programming Place Plus 用語集

Programming Place Plus トップページ用語集

先頭へ戻る

名称

解説

コンパイルを行うソフトウェアです。

コンパイルは、高級言語で記述されたソースコードを、コンピュータ実行できる機械語で記述された、実行可能ファイルに変換することをいいます。ただし、プログラムの実行を開始してから、適宜コンパイルを行う JITコンパイルという方法も存在します(JITコンパイルを行うコンパイラは、JITコンパイラと呼ばれます。特別なので、このページでは取り上げません)。

ほとんどのプログラムは、複数のソースファイルによって構成されていますが、コンパイラは、1つのソースファイルに対して、1つのオブジェクトファイルを生成し、それらをリンカによって結合(リンク)するという方式を取ります。C言語や C++ ではほとんどの場合、この方法がとられます。

主としてコンパイラを用いるプログラミング言語は、コンパイラ型言語と呼ばれます。ただし、原理的に、ほかの方法が絶対に不可能ということではなく、たとえば、その言語向けのインタプリタを作成することも可能であるはずです。

コンパイラは、プログラミング言語の種類ごとに異なるものが存在します。また、変換後の形式は、ターゲットとなるCPUによって異なるため(命令セットが異なるから)、ターゲットごとにも異なるものが必要になります。あるいは、コンパイラは1つで、コンパイル方法を指定するコンパイラオプションを使うなどして、複数のプログラミング言語やターゲットに対応できることがあります。

また、コンパイラを、テキストエディタデバッガなどのプログラミングに必要な各種のツールとともにパッケージングした統合開発環境(IDE)と呼ばれる製品があります。たとえば、Visual Studio は Windows をターゲットにした開発でよく使われています。

コンパイラの具体例としては、gcc や clang が有名でよく使われています。Visual Studio をコンパイラとして挙げる場合もありますが、前述したように、これは統合開発環境であって、コンパイラと呼べるのは、その中に含まれた一部分だけです(たとえばC言語や C++ 向けには、cl.exe という実行可能ファイルが含まれており、これがコンパイラの本体です)。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
Twitter でツイート Twitter をフォロー LINE で送る
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー