我最近从Delphi 7迁移到Delphi XE3。
一个在Delphi 7中大小为107kb的dll文件现在编译为2.7MB。 另一个在Delphi 7中大小为114kb的dll文件现在编译为4.7MB!
这是正常的吗? 我应该怎么做才能减小文件大小? 如果您需要更多信息,请询问。
更新:
两个dll文件已经在发布模式下编译。
按照Mason的建议后:
4.7MB的文件被缩小到了834kb,而2.7MB的文件被缩小到了2.1MB。 2.1MB的文件使用了Generics和一个名为nExcel的外部库来生成Excel文件。虽然在文件大小较小时也使用了nExcel,但使用Generics是代码的新添加,我想这可能是文件大小仍然相当大的原因。
一个在Delphi 7中大小为107kb的dll文件现在编译为2.7MB。 另一个在Delphi 7中大小为114kb的dll文件现在编译为4.7MB!
这是正常的吗? 我应该怎么做才能减小文件大小? 如果您需要更多信息,请询问。
更新:
两个dll文件已经在发布模式下编译。
按照Mason的建议后:
4.7MB的文件被缩小到了834kb,而2.7MB的文件被缩小到了2.1MB。 2.1MB的文件使用了Generics和一个名为nExcel的外部库来生成Excel文件。虽然在文件大小较小时也使用了nExcel,但使用Generics是代码的新添加,我想这可能是文件大小仍然相当大的原因。
release
模式编译您的dll,并使用{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])} {$WEAKLINKRTTI ON}
从您的dll中删除扩展RTTI信息。 - RRUZ