作为测试,我决定使用Delphi 4,5,6,7,2005,2010和XE3在Delphi中创建一个简单的“Hello world”应用程序。该应用程序只不过是一个TForm,一个带有OnClick事件的TButton,它调用ShowMessage('Hello world')。
以下是关闭调试的每个最终EXE的结果:
有人可以解释为什么XE3版本比之前版本的Delphi平均值大26倍?
以下是我对XE3的项目设置:
答案 0 :(得分:10)
在更改为“Release”配置后,您可能只进行了一次编译。尝试重建(不重新编译)。这将真正激活可执行文件的Release配置,并且文件大小可能更小。
对我来说(Delphi XE2),Windows报告的相同应用程序(发布配置)的大小为:
1.52 MB(1,600,512字节)
答案 1 :(得分:5)
我弄明白了这个问题。在我开发时99%的时间使用Delphi 7这一事实可以解释这一点,而XE3对我来说是新手。即使我在项目选项下选择了“Release”并在那里进行了调整,但事实证明只需选择“Release”就不会将项目置于Release模式。
谁会想到我还必须使用Project Manager面板并双击“Release”项目才能将项目置于Release模式?
如果有人好奇,最终的EXE现在是2,229 KB,这只是Delphi 2010之前的EXE的5倍。
答案 2 :(得分:0)
嗯..有很多东西可以解释旧的delphi版本与新版本之间的区别..重要的是unicode(D2009 .. DXE4)的支持,所有字符在unicode中分配2个字节(在D1中, D2,D3,D7,......它们只分配一个字节)
答案 3 :(得分:0)
只需将这些行放在.dpr文件中,它会将exe大小减少20%
<强> 用途 Windows,
<强> {$ O +} {$ SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}