delphi – 减少exe文件
发布时间:2020-12-15 10:17:21 所属栏目:大数据 来源:网络整理
导读:使用Delphi(或者一般来说,任何工具,如果存在的话),是否可以减少exe文件的大小,删除所有不使用但是存在的代码? (例如,存在但从未被调用的函数或过程)。 我记得使用Pascal,使用单元(没有对象),编译器只包含真正使用的过程和函数,并将从最终的exe中删
使用Delphi(或者一般来说,任何工具,如果存在的话),是否可以减少exe文件的大小,删除所有不使用但是存在的代码?
(例如,存在但从未被调用的函数或过程)。 我记得使用Pascal,使用单元(没有对象),编译器只包含真正使用的过程和函数,并将从最终的exe中删除单元中的未使用的例程。 使用Object-pascal,我记得在Delphi 1中,一个对象的所有成员都包含在exe中; 解决方法
如果您不使用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或包中! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |