减小Delphi的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
Trackback地址: http://www.yculblog.com/trackback/4/340843
减小Delphi的Exe文件大小相关推荐
- [Matplotlib] 减小生成的 PDF 文件大小 - Rasterized
介绍 有时候,我们在 Matplotlib 中画图的时候,如果元素过多,例如图中有几十万个点,那么图片的大小会非常大.本文介绍如何减小生成的 PDF 文件大小. 解决方案 使用rasterized=T ...
- 减小Delphi xe系列生成的exe文件大小
自xe系列以来.delphi生成的可执行文件都比较大.动辄10M以上.其中主要是包含了调试信息.发布后,即可删除.这样可大大减小可执行文件的大小.方法:Project->Options-> ...
- delphi让exe开机自启动
procedure AutoRunOnSystemStart(Title, FileName: String); const _Software_Microsoft_Windows_Current ...
- 精简ICO图标可减小EXE程序文件大小
精简ICO图标可减小EXE程序文件大小 使用VS2010编写的小程序,两百行不到的代码,生成的可执行程序却有3百多KB!心想不该如此之大才对.在下次编写小程序的时候,在刚建立解决方案的时候,生成的默认 ...
- 为什么delphi编译生成的exe文件这么大
delphi 编译生成的 exe 文件,占用磁盘字节数比较大的原因在于,delphi 编译的文件中包含有其他的数据信息更多. 以下在 delphi xe 10 中,建立一个只包含空窗体的工程,通过多种 ...
- Arp病毒(motou.exe,smss.com,smss.exe)解决方案
smss.com,smss.exe 文件名称:motou.exe 文件大小:335106 byte AV命名: Win32.Hack.ChatARP.y.372212 金山 Dropper.Win32 ...
- DELPHI bpl使用
了解BPL和DLL的关系将有助于我们更好地理解DELPHI在构件制作.运用和动态.静态编译的工作方式.对初学DELPHI但仍对DELPHI开发不 甚清晰的朋友有一定帮助. BPL vs. DLL (原 ...
- DELPHI的BPL使用
了解BPL和DLL的关系将有助于我们更好地理解DELPHI在构件制作.运用和动态.静态编译的工作方式.对初学DELPHI但仍对DELPHI开发不甚清晰的朋友有一定帮助. 第一部分:有关包的介绍 一般我 ...
- Delphi中ExtractFilePath、ParamStr以及更多文件/目录操作涉及的函数。附加对应的例子...
先介绍ExtractFilePath和ParamStr ParamStr 该函数的原型是:function paramstr(i: Integer): String; 对于任何的application ...
最新文章
- 计算机试题高考作文阅卷组对考生,2017年广东高考评卷收尾
- 【GO语言】合理配置GOMAXPROCS提升一倍以上的性能
- 读过的好书[技术类]
- Android系统,动态找出一个包下所有的类
- 计算机英语词汇的特点,电子商务英语词汇都有哪些特点
- 45 MM配置-采购-条件-定价过程-定义定价计算方案
- PyTorch 1.0 中文文档:torch.nn.init
- Java中string中hashcode_Java String中的hashCode实现
- Python3 中打的迭代器与生成器
- oracle手动锁表和解锁_Oracle锁表查询和解锁方法
- 信息安全等级保护建设(二,三级)需上的设备
- oracle 数据库练习题及答案
- 手机版q群管机器人_手机QQ机器人怎么用,QQ机器人手机版怎么设置
- 怎样备份计算机里的驱动程序,怎么备份电脑的驱动 驱动人生备份驱动方法
- php 正则车架号,js 正则校验车架号VIN
- 请告诉孩子:努力读书,是为将来拥有更多选择的权利,而不是被迫谋生
- chromium - DISALLOW_IMPLICIT_CONSTRUCTORS
- Spring 官方修复零日漏洞,推出 Spring Boot 2.6.6、2.5.12 等新版本
- canvas绘图 echarts 基本使用
- 2014年元旦放假安排,又一个坑爹的假日