繁体   English   中英

如何减小Delphi dll的大小?

[英]How can I reduce the size of my Delphi dll's?

我最近从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,但是使用泛型是代码的新增功能,我想这可能是文件大小保持相当大的原因。

其中一些是不可避免的; 随着更多功能的增加,RTL变得越来越大。 但是,由于在Delphi 2010中增加了扩展的RTTI,因此大量增加的原因。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM