如何减小应用程序(EXE)的大小?

如何减小应用程序(EXE)的大小?

一般来说,由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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
优化 Linux 服务器上的服务或应用程序可以提高性能、可靠性和安全性。下面是一些常见的优化步骤: 1. 定期更新和升级:确保您的服务器上的操作系统、服务和应用程序都是最新的版本。定期进行更新和升级可以修复漏洞、改进性能和添加新功能。 2. 配置合适的硬件资源:了解您的服务或应用程序的需求,并确保为其分配足够的硬件资源,如 CPU、内存和存储空间。根据需求进行适当的扩展或升级。 3. 调整内核参数:通过调整 Linux 内核参数,可以优化服务器的性能和稳定性。这些参数控制各种系统行为,如文件系统缓存、网络连接数、进程调度等。您可以编辑 `/etc/sysctl.conf` 文件来修改参数。 4. 优化网络设置:对于网络密集型服务,调整网络设置可以改善性能。例如,调整 TCP/IP 参数、启用流量控制和拥塞控制机制等。 5. 调整服务配置:对于特定的服务或应用程序,了解其配置选项并进行调整可以提高性能。例如,数据库服务器可以通过调整缓冲区大小、查询优化和索引来提高响应速度。 6. 启用缓存和加速技术:使用适当的缓存和加速技术可以减少对后端资源的请求。例如,使用反向代理服务器、CDN、页面缓存、数据库缓存等。 7. 定期监测和调优:使用性能监测工具来监测服务器的性能指标,并基于监测结果进行调优。例如,使用工具如top、vmstat、sar等来监测系统资源的使用情况。 8. 安全优化:确保服务器的安全性,包括配置防火墙、限制远程访问、使用安全协议、定期备份数据等。安全性的提升可以减少潜在的风险和性能问题。 这些是一些常见的 Linux 服务器优化步骤。根据您特定的需求和服务/应用程序的要求,可能还有其他优化策略。建议参考相关文档、官方指南或专业资源以获取更详细和特定的优化建议。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值