コンパイルと再構築の違いとは

解決


Fusa  URL  2008-01-18 02:12:40  No: 29355

こんにちは。

いまさらなのですが、
コンパイルとビルド…リビルド?、再構築

そういったものの違いとはなんなのでしょうか?
Delphi用語なのか一般用語なのか
混乱する部分があるのですが

ビルドというのは、実行ファイル生成の時に
何のファイルが関係してコンパイルを行うのでしょうか?
DelphiIDEの機能としての"コンパイル"と"再構築"の違いなども
詳しくご存じの方、教えてください。

浅い理解しかしてないみたいなので、聞いてみました。


KHE00221  URL  2008-01-18 02:24:05  No: 29356

コンパイルは修正されたユニットのみをコンパイルしますが、
再構築は全てコンパイルの対象となります

Unit1 に

procedure TForm1.FormCreate(Sender: TObject);
var
    A : Integer;
begin
end;

Unit2に

procedure TForm2.FormCreate(Sender: TObject);
var
    A : Integer;
begin
end;

あった場合1度再構築後

に再構築の場合

Unit1.pas() 変数 A が宣言されていますがTForm1.FormCreateでは使用されていません
Unit2.pas() 変数 A が宣言されていますがTForm2.FormCreateでは使用されていません

と表示されますが、

コンパイルの場合には表示されません。

最初の再構築後に修正されていないのでコンパイルの対象とならず、
既に作成されている.DCUを使用してEXEが作成される為です


もにゃ  2008-01-18 03:28:54  No: 29357

聞かれるとぼんやりとしかイメージできなかったので調べました。
ビルド = コンパイル
    変更された箇所のみをコンパイルし直す。
リビルド = 再構築
    全ファイルをコンパイルし直す。

Delphiを使ってて再構築を必要とするのはリソースファイルを変更したときぐらいですかね?

「ビルド  リビルド」でググると大抵そう書いてあります。
http://www.ilovex.co.jp/Division/SRD/archives/2004/10/post_11.html
http://e-words.jp/w/E38393E383ABE38389.html


Fusa  URL  2008-01-18 22:41:16  No: 29358

KHE00221さん  もにゃさん

構築=ビルド=コンパイル
再構築=リビルド

ということですね。
よくわかりました。

ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加