プログラミング言語で記述されたプログラムを、機械語やアセンブリ言語、あるいは中間コードへ変換することをいいます。
ほとんどの場合、高級言語で記述されたソースファイルをコンパイルして、オブジェクトファイルを得る処理ということになります。ほかに、プログラムの実行時にコンパイルを行う動的コンパイルという方法もあります。
必ずしもすべてのプログラミング言語がコンパイルを行うわけではなく、ソースファイルに書かれている内容を読み取りながら、適宜、機械語へ変換しながら実行するインタプリタを使うものがあります。
コンパイルを行っているとき(最中)をコンパイル時といい、コンパイルが完了するまでに要した時間をコンパイル時間といいます。
C言語では、まずソースファイルに対して、プリプロセス(前処理)が行われます。前処理済みの状態を、翻訳単位と呼びます。
最終的な実行可能ファイルを得るために、翻訳単位に対してコンパイルを行います。このとき、1つ1つの翻訳単位を別個にコンパイルし(分割コンパイル)、ソースファイルに対応したオブジェクトファイルを生成し、リンカによって1つに統合(リンク)する方法を採ることが多いです。
この説明はかなり簡略化しており、標準規格で定められた手順はもっと多くのステップを踏むことになっています。
多くの過程を踏まなければならないため、大抵の開発環境では操作を簡略化するため、これらの手順をまとめて、ビルドと呼び、1つのコマンドで実行可能ファイルの生成までを行えるようになっています。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |