如何减小Delphi dll的大小?

时间:2012-10-08 01:25:14

标签: delphi dll delphi-7 delphi-xe3

我最近从Delphi 7迁移到了Delphi XE3。

Delphi 7中的107kb的dll文件现在正在编译为2.7 MB。 另一个是114kb,现在是4.7 MB!

这是正常的吗? 我该怎么做才能减小文件大小? 如果您需要更多信息,请询问。

更新:

两个dll文件都已在发布模式下编译。

遵循梅森的建议:

4.7MB文件减少到834kb,2.7MB文件减少到2.1MB。 2.1MB文件使用Generics和一个名为nExcel的外部库来生成Excel文件。虽然在文件大小较小时也使用了nExcel,但Generics的使用是代码的新增功能,我想这可能是文件大小保持相当大的原因。

1 个答案:

答案 0 :(得分:15)

有些是不可避免的;随着更多功能的增加,RTL变得越来越大。但是,由于在Delphi 2010中添加了扩展的RTTI,大量增加的大小将会增加。

您可以通过在主项目文件中,在任何uses子句之前添加以下两行来解决此问题:

{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$WEAKLINKRTTI ON}

这将使编译器在整个项目中最小化扩展的RTTI。 (请注意,这意味着您将无法使用RTTI功能。但由于这是Delphi 7项目,您可能还没有使用它。您需要阅读扩展的RTTI并查看是否可以找到有用的东西。)