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是在優化模式編譯將這些未使用的單元和代碼被省略
以及當使用單位
在Delphi 7,即使只是使用XPMan單元; (不使用任何組件(TXPManifest1)),仍使用該單元,並且每個組件都顯示爲主題;
和一些說德爾福會省略單位,如果不需要的話;
所以德爾福如何識別一個單位是否具有它調用本機或不產生影響
爲什麼不`如果假然後`? – 2010-12-04 14:23:07
@Andreas Rejbrand如果false表示false = true;我的意思是true = false LOL! – VibeeshanRC 2010-12-04 14:29:38
如何檢查?在if語句之前放置一個斷點(例如用`asm int 3; end;`),運行它,然後檢查if語句是否丟失? – CodesInChaos 2010-12-04 14:31:30