gpt4 book ai didi

delphi - 减少exe文件

转载 作者:行者123 更新时间:2023-12-03 14:34:45 28 4
gpt4 key购买 nike

使用Delphi(或者一般的任何工具,如果存在的话),是否可以减小exe文件的大小,删除所有未使用但存在的代码?
(例如,存在但从未被调用的函数或过程)。
我记得在 Pascal 中,使用单元(不带对象),编译器仅包含真正使用的过程和函数,并将从最终的 exe 中剔除单元中未使用的例程。

使用 Object-pascal,我记得在 Delphi 1 中对象的所有成员都包含在 exe 中;
自 Delphi-XE2 以来有什么变化吗?

最佳答案

如果您不使用 RTTI,您可以将其添加到 .dpr 文件的顶部(紧接在 program 之后)以删除额外的 RTTI 信息:

{$IFOPT D-}{$WEAKLINKRTTI ON}{$ENDIF}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

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

您还可以在 .dpr 文件中的某个位置再次添加以下内容:

{$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}

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

关于delphi - 减少exe文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7398580/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com