用户名:  密码:   
您当前的位置:首页 > 程序设计 >  Delphi > 

delphi11及XE生成的文件过大

上次修改时间: 2024-03-16 22:20:03      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Delphi语言\Delphi11\      下一页

delphi11CE生成的程序比D7大的10倍

相同功能的程序D7编译出来只有1.4M,而delphi11生成的程序有14M

原因:dlphi 11生成的程序默认为debug版,生成Release就可以了,还有个原因是D7用Ansi编译,而D11用的是Unicode编码

1. 使用压缩壳来解决

2. 编译出发行版程序
默认编译的程序为Debug版,到工程面板激活Release后,再点运行就会编译出发行版
在工程面板(显示--工具窗口--工程)--工程组--工程名(默认Project1)--Build Configuration(debug),下面有Debug和Release两项
默认激活的是Debug,编译出来的程序为调试版,生成的程序里面有很多无效的调试信息,右击Release--激活编译出来的程序就是发行版了
注:激活Debug生成的程序保存在源码目录的Win32/debug下,而激活Release生成的程序保存在源码目录Win32/Release下
注:在工程--选项--Building--Delphi compiler下的几项,右边Target下拉选项里有Debug配置和Release配置,可以设置调试版和发行版编译出成程序保留的内容
可以不用设置,调节这时的参加可以使Debug程序和Release程序一样大。

3. 关闭RTTI反射机制,大约会减少1M多
工程--显示源,把下面的代码加到第二行,再编译
{ 关闭RTTI反射机制减少EXE文件尺寸 }
{$IF CompilerVersion >= 21.0}
{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}
{$IFEND}

3. 设置成运行时包
project--option--Packages--Runtime Packages 勾选Link with runtime package.
注:此方法不可取,虽然14M的Debug版会缩小到200K,但复制到其它电脑提示缺少多个bpl文件,需要一起复制过去。