减小Delphi XE 以上版 编译出来的程序体积

| 选择喜欢的代码风格  

一般用两个方法可以很大程度上减少程序体积

1.在工程中用编译指令禁用 RTTI


禁用的方法很简单(点中 EXE,按 Ctrl + V 或者单击鼠标右键,点 View Source),一般在工程 的 Uses 语句前添加下面的定义:

{ Reduce EXE size by disabling as much of RTTI as possible Delphi}

{$IF CompilerVersion >= 21.0}

{$WEAKLINKRTTI ON}

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

{$IFEND}

完整的 Delphi 代码示例如下:

program NotePad;

{ Reduce EXE size by disabling as much of RTTI as possible Delphi}

{$IF CompilerVersion >= 21.0}

{$WEAKLINKRTTI ON}

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

{$IFEND}

uses
  Vcl.Forms,
  FormMain in 'FormMain.pas' {frmMain};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TfrmMain, frmMain);
  Application.Run;
end.

2.关闭 Delphi 的 DEBUG 信息


Project -> Options -> Delphi Compiler -> Linking -> Debug Information 设置为 False 即可

上一节 NotePad Demo 入门 Exe 最终生成结果分别如下:

  • 默认 Debug 编译文件大小:11.2MB
  • 最终 Release 编译文件大小:1.85MB

配置如图:



发表评论