❤恋するコンピュータサイエンス❤

コンピュータサイエンス、3DCGをもっと楽しく、もっと本質的に!c言語、c++の記事中心です

makefileを自分でかけるようにするための準備

Q.
コンパイル時におこなわれる、ビルド、リンクとは何か説明せよ



A
makefile をかけるようにするためにはビルドがどのように行われているかを理解する必要がある。なぜならビルドする手順を分解したのががmakefileと言えるからだ。

ビルトを理解する為によく使われるコンパイルとの違いをまずは考えてみよう。
ビルドとは、コンパイルを含む、プログラムを実行可能な形式に変換する一連のプロセスを指します。ビルドには、コンパイルに加えて、リンク、ライブラリのインストール、実行ファイルのパッケージングなどが含まれます。

 

一方「コンパイル」は、プログラム言語で書かれたコードを機械語に変換するプロセスを指します。つまり、プログラムを機械が理解できる形式に変換することを指します。

 

※リンクとは
(リンケージエディタ、リンカ(linker)、連係編集プログラムとも))とは

機械語のプログラムの断片を結合し実行可能なプログラムを作成するプログラムのことである。
例として、C言語では、ソースファイルをコンパイルするとオブジェクトファイルが生成される。それに他のオブジェクトファイルやライブラリを結合して1つのプログラムが完成する。
この結合(リンクという)の際リンク(リンケージエディタ)が使われる。


つまりコンパイル+リンクして始めて機械語に直され実行可能ファイルになるということだ。
これをビルドと呼ぶ。

まとめ
コンパイル+リンク=ビルド