2013-12-23 47 views
1

我最近購買XE5並從XE2遷移。我試圖編譯一個DLL。使用XE2這個DLL文件大小是400KB,但XE5是1.1MB。另外可執行文件的大小更高。我正在編譯完全相同的項目。德爾福XE5 DLL和EXE文件大小比較XE2

那麼有誰知道是什麼原因造成這麼大的文件大小?你可能會說現在這個尺寸並不重要,但實際上這對我來說很重要。

+0

要找到更多信息,我通常會創建一個MAP文件並查看MAP文件,這告訴我有多少EXE被用來存儲什麼單位。由於不是你的代碼發生了變化,它的RTL代碼發生了變化,你可以看看RTL單元,看看它們自XE2以來的規模有多大。 –

+1

@沃倫的確。我已經說過了,但這個明智的mods決定刪除所有有用的評論。 –

+0

奇怪。 MOD必須是瘋狂的。 –

回答

1

XE5具有一些RTL和VCL功能以及缺少XE2的更改。這是我們在每個Delphi版本中看到的平常增長。而從XE2到XE5,你們之間有XE3和XE4。這使3個德爾福版本有所不同。

另一個尺寸增加的變化是從普通TList轉移到通用TList < T>。現在,代替TList的代碼是TList < TCollectionItem>,TList < TComponent>,TList < TObject>,TList < TAction>,...它們都生成完全相同的代碼,因爲TList < T> can對T的做法與T = TObject不同,但編譯器不會將它們合併到一個代碼庫中。而通用TList < T>帶來了比TList更多的代碼。

+1

對於普通香草VCL表格應用程序,XE5比XE4小。 –