• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

减小Delphi的Exe文件大小(11种方法)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一般来说,由Delphi生成的EXE文件,要比其由它编程语言生成的体积大一些。这主要是由于使用VCL的原因(当然,VCL是有许多优点的!) 
以下是减小EXE文件大小的几种途径: 

01) 使用加壳工具(如 UPX,ASPack 等) 
02) 使用 KOL 
03) 不使用VCL来编写程序 
04) 使用 ACL (API 控制库) 
05) 使用 StripReloc 
06) 去除运程调试信息与 TD32 
07) 把允许的代码写到 DLL 中 
08) 不要在设计时把图片放置在 Form 上,而是运行时加载 
09) 使用被压缩的图片(使用JPG 而不用 BMP) 
10) 在 DFM 文件中减少属性 
(参考后面的链接 “怎样使您的EXE文件更轻便”) 
11) Use the TStringList replacement by ~LOM~ 
Use the Minireg - TRegistry replacement by Ben Hochstrasser 


01) 
UPX 是一个免费、轻便、可扩展和高性能的可执行文件加壳工具,支持多种不同的可执行文件格式。它可以达到非常优秀的压缩比,且可以非常快的解压。 


http://upx.sourceforge.net/ 


ASPack 是一款高级的Win32可执行文件压缩器,可以减小32位Windows程序的大小达70%。(ASPack的压缩率提高了zip文件格式产业标准10-20%) ASPack使得Windows 95/98/NT 程序与库更小,降低了网络的传输量。它也可以在一定程度上保护程序免受那些非专业黑客的反向工程。压缩后的程序在运行时基本上没有什么性能上的影响。 


http://www.aspack.com/aspack.htm 


{****************************************************************} 


02) 
KOL - (关键对象库 Key Objects Library)是用于 Delphi 开发强大的32位Windows图形用户界面应用程序一套对象库。它比用VCL进行开发可以使程序变得更小。 


http://bonanzas.rinet.ru/ 


{****************************************************************} 


03) 
不使用VCL 
如果您想要实现瘦小的EXE文件,就不要使用VCL,Delphi 完全可以让您通过调用WinAPI函数来实现Delphi 100%的丰富功能。 


http://nonvcl.luckie-online.de/ 
http://www.erm.tu-cottbus.de/delphi/stuff/Tutorials/nonVCL/index.html 
http://www.swissdelphicenter.ch/en/delphizeus 
http://www.tutorials.delphi-source.de/nonvcl/ 




{****************************************************************} 


04) 


ACL (API 控制库 API Controls Library) 
纯以API写程序是完全可能的,但我希望达到两个目的 —— 写出瘦小程序和生成新的控制库,在写程序的时候,也就创建了我自己的TWinControl和全部标准的Windows控制类. 


http://www.apress.ru/pages/bokovikov/delphi/index.html 


{****************************************************************} 


05) 
StripReloc是一个免费的(GPL 许可协议) 命令行应用程序,用于移去Win32 PE格式文件多余的重配区段(".reloc") ,以减小它们的大小。大多数编译器/链接程序(包括Delphi)会在EXE文件里写入重配区段,但由于EXE文件从不会重新部署,所以该区段只会浪费空间。 


http://www.jrsoftware.org/striprlc.php 


{****************************************************************} 


06) 
去除调试信息 


Debug信息会占用一部分空间的,对于最终的发行版,完全可以不要这部分信息 。 
Delphi IDE菜单 
    project-Options-Compiler - Debugging 与 
    project- Options - Linker - EXE and DLL options 


去掉下面两项,可以减少文件的大小 
"Include TD32 debug info" 与 "Build with runtime packages". 


{****************************************************************} 


08/09) 
对于图片 


最好不要在设计期把图片加到窗体,尤其是大的图片,因为这样以来,Delphi会把图片也编译到你的可执行文件中去,从而增大EXE文件的尺寸。建议在运行时,以代码的方式,实时的载入图片。 


{****************************************************************} 


10) 
怎样使您的EXE文件更轻便: 
http://www.undu.com/DN970301/00000064.htm 


{****************************************************************} 


11) 
TStringList replacement by ~LOM~ 
Minireg - TRegistry replacement 


Trackback地址: http://www.yculblog.com/trackback/4/340843

http://blog.csdn.net/diligentcatrich/article/details/31059041


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab中的卷积——filter,conv之间的区别发布时间:2022-07-18
下一篇:
Matlab的title如何实现换行显示?发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap