减小Delphi 2010/delphi XE编译出来的文件大小

2012-05-21  金城  9139

1.禁用RTTI
禁用的方法很简单,就是要在工程(dpr文件中。Delphi2010下项目文件是dproj文件,但dpr文件仍然是默认的编写代码的项目文件)的Uses语句前添加下面的定义就可以了:

{Reduce EXE size by disabling as much of RTTI as possible (delphi 2009/2010)}
{$IF CompilerVersion >= 21.0}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}

2.realease模式编译

3.去掉Debug信息

4.使用upx、aspack压缩一下
====================================================
1.引用的单元会影响EXE和DLL的大小,把Uses中不需要的单元去掉,可以变小一些。
当然如果直接用SDK的方式来开发,那是最小的。

SysUtils.pas System.pas sysinit.pas里面有很多你用不到的公用变量和类型定义,你可以
另起炉灶,把你的程序要用到的变量,函数,类型拷贝到另一个同名的pas文件中,编译时不用
Delphi的集成环境编译,用命令行dcc进行编译,注意要把你新建的基本库pas也包含进去
如 DCC32 -Q -DDLL System.pas sysinit.pas MyProject.dpr -M -Y -Z -$D-
其中system.pas sysinit.pas是从原来的pas中挖出来的一些类型定义,函数等.