delphi 高版本可执行程序减小的办法
2013-08-20 08:44
155 查看
选菜单里的 Project -> Options.. (Shift+Ctrl+F11)
出现Project Options for Project1.exe窗口,在左边选 Packages
出现如下图的东西,这样修改:
1> 将Runtime packages里的[ ]Build with runtime packages钩上
2> 将不需要的包去掉就行了。(一般编写Win32的程序,只要rtl;vcl就行)
如果实在不知道该去哪个,可以在上面的Design packages里选择一个包,点Components按钮就可以查看这个包提供的控件。如果没用过这个包,去掉前面的钩就行了。
默认Delphi XE4 编译出来的程序体积很大。
一般用两个方法可以很大程度上减少程序体积。
一、在工程中用编译指令禁用RTTI
禁用的方法很简单,就是要在工程 的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}
二、关闭DEBUG信息
Project->options->Linking->debug information 设置为False即可
新建工程:默认编译文件大小为:9782KB
使用上述办法瘦身:程序大小为:1900KB
出现Project Options for Project1.exe窗口,在左边选 Packages
出现如下图的东西,这样修改:
1> 将Runtime packages里的[ ]Build with runtime packages钩上
2> 将不需要的包去掉就行了。(一般编写Win32的程序,只要rtl;vcl就行)
如果实在不知道该去哪个,可以在上面的Design packages里选择一个包,点Components按钮就可以查看这个包提供的控件。如果没用过这个包,去掉前面的钩就行了。
默认Delphi XE4 编译出来的程序体积很大。
一般用两个方法可以很大程度上减少程序体积。
一、在工程中用编译指令禁用RTTI
禁用的方法很简单,就是要在工程 的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}
二、关闭DEBUG信息
Project->options->Linking->debug information 设置为False即可
新建工程:默认编译文件大小为:9782KB
使用上述办法瘦身:程序大小为:1900KB
相关文章推荐
- sql2000无法执行查询及未找到提供程序解决办法
- Delphi技巧集六 (等待执行完一个外部程序再执行另一个程序)
- 自定义SiteMap后,SiteMap.SiteMapResolve事件处理程序不执行解决办法
- delphi执行一个外部程序,当外部程序结束后,delphi程序立即响应
- OD提示 "为了执行系统不支持的动作, OllyICE 在这个被调试的程序中注入了一点代码, 但是经过5秒仍未收到响应..." 解决办法
- delphi 执行一个外部程序,当外部程序结束后言主程序立即响应
- 程序遇到core的时候 使得程序继续执行的解决办法
- linux 下执行程序总是提示permission denied的解决办法
- 在执行Java命令或eclipse启动程序,提示报错’jvm.cfg无法找到’的解决办法
- qt可执行程序release版本无法运行(动态链接库错误)
- windows下设置QT程序的版本信息、程序图标和可执行文件图标
- 微信小程序 免费SSL证书https、TLS版本问题的解决办法
- delphi 获取程序版本及时间
- 关闭RTTI,减小Delphi2010程序的尺寸
- 给Delphi程序添加版本信息
- Delphi中增强程序的不同Windows版本的兼容性技巧
- 后台执行的程序通过system()调用ffmpeg卡住 解决办法
- delphi 执行一个外部程序,当外部程序结束后言主程序立即响应(新)
- Delphi载入程序后就默认overload,将其默认设置为insert的办法
- 关闭RTTI反射机制,减小Delphi2010程序的尺寸