Delphiコンパイラはどのようにして次のコードをコンパイルしますか。Delphiのコードのコンパイル方法
uses a_big_unit;
procedure TForm1.Button1Click(Sender: TObject);
var
acompont : T_a_big_component ;
begin
if (true = false) then // or if false then
begin
bc := Tbig_component.create(self)
end;
このコードでtrue = falseは起こらないので、コンポーネントacompontは決して作成されません。
Delphiが最適化されたモードでコンパイルされたこれらの未使用のユニットとコードがあなただけのXPManユニットを使用している場合でも、
を省略とDelphi 7で単位
を使用してWHENれます。 (それが持っているコンポーネント(TXPManifest1)を使用せず)、それでもユニットが使用され、すべてのコンポーネントがテーマで表示されます。
と言われています。必要がない場合、Delphiは単位を省略します。
だから、Delphiはユニットが、それは私はもうデルファイを使用していない年だから、私はここでチェックすることはできませんが、私はユニットをコンパイルして含まれることを期待呼び出すか
なぜ「falseなら」ですか? –
@Andreas Rejbrand falseの場合は、false = trueであることを意味します。そして私は真実=偽LOLを意味しました! – VibeeshanRC
ちょうどチェックするのはどうですか? if文の前にブレークポイント(たとえば 'asm int 3; end;')を置き、実行してif文がないかどうかを確認します。 – CodesInChaos