2012-02-06 235 views
1

可能重复:
What Can I Do To Reduce My Executable's Size (Delphi)?
Reduce exe fileDelphi 7和Delphi 2010的区别可执行文件的大小?

当我编译在Delphi 7在2010年的Delphi标准基本测试应用程序,然后一个,并比较该exe尺寸,Delphi的2010版是两倍的大小。

为什么?

有什么我需要在德尔福2010年关闭,以减少EXE大小?

感谢

+0

您是否编译过相同的项目?一个新项目在旧版本和新版本中表现不同。你有没有使用相同的编译器和链接器选项?调试信息可以产生巨大的差异。你还可以比较大型应用程序的大小吗? 400 kB(空中随机数)是200 kB大小的两倍,但如果4MB应用程序成为4.2MB应用程序,则差异并不重要。 – hvd 2012-02-06 22:05:16

+0

这是因为自Delphi 7以来RTL和VCL已经有了相当大的增长,再加上delphi 2010中引入的新RTTI可以产生更大的Exe文件。为了避免在最终exe文件中包含所有的调试数据,使用'Release'模式构建应用程序。 – RRUZ 2012-02-06 22:09:54

+1

在接受的答案[这里](http://stackoverflow.com/questions/7398580/reduce-exe-file)中概述的删除RTTI的方法将显着减小尺寸,但是D2010 exe会比D7稍大exe – 2012-02-06 22:24:05

回答

6

这个问题被问在互联网上(SO,EMB论坛等),只要德尔福的新版本发布。新版本倾向于提供新的RTL/VCL /编译器功能,并且编译的文件大小反映了这些增加。在这种情况下,自D7以来引入的主要功能是Unicode,增强型RTTI,泛型,仅举几例。

+4

RTTI是对exe文件大小影响最大的功能,可以关闭 – 2012-02-06 22:31:42

+0

@Remy ...我删除了uses语句中的所有内容,只剩下FORMS。那么,请告诉我,Unicode和Generics等会被编译到EXE中吗? – IElite 2012-02-06 22:43:51

+0

@IElite只需按照上面链接中的说明进行操作,就可以大大减小尺寸 – 2012-02-06 22:45:10