tjinjin's blog

インフラ要素多めの個人メモ

ビルドとコンパイルについて

今年もあと数日ですね。

来年に向けて学習計画とか建てたいなぁと思ってる今日この頃です。

 

よく会話の中で「コンパイルエラーが出てるよ」とか「ビルドがうまくいかないなぁ」とか聞くことがありますが、ふとコンパイルとビルドってどう違うんだ?と思ったので調べてみました。

 

IT用語辞典で調べると

コンパイル…ソースコードをオブジェクトコードに変換する

ビルド…ソースコードのコンパイルやライブラリのリンクなどを行い、最終的な実行可能ファイルを作成すること。

というようなことが書いてありました。

 

コンパイルはあくまでオブジェクトコードに置き換えるだけで、実行時の参照関係は考慮しない。ビルドは参照関係も含めて実行可能にするというような感じですかね?

コンパイルとビルドの違いについて詳細な記事があったので読んでみました。

☆参考

http://itpro.nikkeibp.co.jp/members/NBY/techsquare/20021008/1/?ST=develop

 

記事を見るとコンパイルしたソースを実行するにはそのソースの中で使っているライブラリとかにリンク(参照?)させる必要があるんですね。あまり意識してなかった。

普段遣っているJavaでは、リンクさせてはいないで実行時に参照しに行くようですが。