簡體   English   中英

Delphi XE8控制台應用程序代碼大小

[英]Delphi XE8 Console App code size

我有一個小的控制台應用程序,可以在安裝程序中使用它來設置注冊表設置和日期。 它只有80行代碼,沒有單位,全部在主程序文件中完成。 它最初是在D2007中編譯的,編譯后的exe大小為84kB。

我正在嘗試使用XE8 32位編譯文件,其編譯大小為1MB。

我預計新版本會有所增加,但按任何標准,將其放大12倍都是非常糟糕的。

它是在發布模式下編譯的,所有調試選項都已關閉。

Uses子句僅包括“ registry,Windows,dateutils,SysUtils”。

這是正常現象還是我錯過了其他一些設置以將其關閉?

問題在您的使用列表中。 您正在使用的System.Win.Registry使用的System.Classes使用System.RTTI

(以下尺寸適用於XE4,但XE8應該相距不遠)

僅使用System.SysUtils空控制台應用程序的大小為122 KB。 添加System.RTTI ,您將最終獲得962 KB。

解決方法是取出用過的RTL單元,將它們復制到您的項目文件夾中,並向其中添加{$WEAKLINKRTTI ON}{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

例如,對System.RTTISystem.Classes執行上述操作會將控制台大小減小到417 KB。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM