8

最近、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 と、Excel ファイルの生成に使用される nExcel と呼ばれる外部ライブラリを利用します。ファイル サイズが小さい場合は nExcel も使用されていましたが、Generics の使用はコードに新たに追加されたものであり、ファイル サイズがかなり大きいままである理由である可能性があります。

4

1 に答える 1

15

その一部は避けられません。より多くの機能が追加されたため、RTL は大きくなりました。ただし、そのサイズの増加の多くは、Delphi 2010 での拡張 RTTI の追加によるものです。

これを修正するには、メイン プロジェクト ファイルのuses句の前に次の 2 行を追加します。

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

これらにより、コンパイラはプロジェクト全体で拡張 RTTI を最小限に抑えます。(これは、RTTI 機能を利用できないことを意味することに注意してください。しかし、これは Delphi 7 プロジェクトであるため、おそらくまだ使用していないでしょう。拡張 RTTI について読んで、それを使って便利なことを見つけることができます。)

于 2012-10-08T01:37:21.037 に答える