delphi – 减少exe文件

前端之家收集整理的这篇文章主要介绍了delphi – 减少exe文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用Delphi(或者一般来说,任何工具,如果存在的话),是否可以减少exe文件的大小,删除所有不使用但是存在的代码
(例如,存在但从未被调用函数或过程)。
我记得使用Pascal,使用单元(没有对象),编译器只包含真正使用的过程和函数,并将从最终的exe中删除单元中的未使用的例程。

使用Object-pascal,我记得在Delphi 1中,一个对象的所有成员都包含在exe中;
有什么改变,直到德尔福XE2?

解决方法

如果您不使用RTTI,您可以将其添加到.dpr文件的顶部(紧接在程序之后)以删除额外的RTTI信息:
{$IFOPT D-}{$WEAKLINKRTTI ON}{$ENDIF}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

如果你想把它从所有的RTL / VCL单元中删除,那么你也需要把它们放在你的项目文件中,以便上面的设置可以生效。我不认为我会建议这样做,因为我不相信可执行大小的减少值得编译您自己的RTL / VCL的复杂性。

您也可以在.dpr文件中再次添加以下内容

{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}

这将剥离.exe中不需要的重定位信息。不要将其添加到DLL或包中!

猜你在找的Delphi相关文章