web-dev-qa-db-ja.com

ビルドとコンパイルの違いは何ですか?

ビルドとコンパイルの違いは何ですか。

34
Vishwas

コンパイルはビルドプロセスのpartです。

ビルドプロセスには、コンパイルの他に、テスト、パッケージ化、およびその他のアクティビティを含めることができます。

37
Oded

「ビルド」はかなり一般的な用語であり、編集可能なソースマテリアル(ソースコード、スクリプト、生データファイルなど)から出荷可能なソフトウェア製品に移行するために必要なすべてのものを指します。ビルドには、前処理、コンパイル、リンク、データファイルの変換、自動テストの実行、パッケージ化などのいくつかのステップが含まれます(通常は行われます)。

「コンパイル」はより具体的であり、ほとんどの場合、ソースコードを入力として受け取り、実行可能な何か、通常は物理マシンまたは仮想マシンのマシンコード、または異なる言語のソースコードを出力するプロセスを指します。

22
tdammers

これらの用語はしばしば同じ意味で使用されますが、次のように区別します。

  • ビルド、コンパイル、パッケージ化、テストなどを含むリリース用のアプリケーションを準備するときに行われます。
  • コンパイルは、コンパイラがプログラミング言語コードをマシンコードに変換することに関与しているときにいつでも行われます。

したがって、コンパイルは実際にはビルドのサブセットです。

10
Bernard

コンパイルはコンパイラによって行われ、ビルドはより複雑なプロセスになる可能性があります。

例えば。 C++では、プロジェクトのビルドを作成するためにプリプロセッサ(ソースファイルの前処理)が必要です。コンパイラ(ソースファイルのコンパイル);リンカー(すべてを実行可能ファイルにマージ-コンパイルされたコード、アイコン、文字列、その他のリソースを一緒に)

したがって、一般的にコンパイルとは、ある言語で書かれたコードを別の言語に変換することです(例:マシンコード)。

3
Slawek