自分用メモ。
もし間違っている部分があれば、コメントで教えてください。
参考:コンパイルとビルドって何が違うの
#前提
コンピューター(OS)はプログラム言語(c、C++、C#、Java、Python、
Perl、PHP、Ruby、JavaScript 他)をそのままの状態で理解することができない。
そのため、コンピューター(OS)が理解できる「機械語」に翻訳する必要がある。
#コンパイルとは
「プログラム言語」で書かれたソースコードを
コンピュータが理解できる「機械語」に翻訳すること。
翻訳するプログラムのことをコンパイラと呼ぶ。
→コンパイルはソースコードを機械語に翻訳し、オブジェクトコードを生成する。
生成したオブジェクトコードから実行可能なプログラムの生成(リンク)は行わない。
【オブジェクトコード】
人間の書いたソースコードを、コンピュータが理解できる機械語に変換したコードのこと。
それ自体が直ちに実行可能なわけではない。
#ビルドとは
全てのファイルのソースコードのコンパイルやライブラリのリンクなどを行い、
最終的な実行可能ファイルを作成すること。
→ コンパイルして更にライブラリとのリンクも行う。
アプリケーション全体を作り上げる操作。
【リンク】
複数のファイルをまとめて、一つの実行可能な形態にまとめあげる作業のこと。
関連付け。