怎样使delphi编译的程序最小?(100分)

  • 主题发起人 主题发起人 net_leaf
  • 开始时间 开始时间
N

net_leaf

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手:
我最近发现用delphi5、6编译生成的可执行文件比较大,不加载任何控件编译后也有
300多K,编写一个简单的程序一般也有1M多,我很纳闷为什么像FOXMAIL等DELPHI编的软件
功能较多可程序却不大?
希望哪位高手帮助在下,指点迷津!多谢![:(][blue][/blue]
 
使用了压缩工具,如ASPACK、UPX等
 
自己用API写,少用VCL,能用ASM内嵌就更好,还有编译时OPTION里的设置。
如果非得用控件,建议用一些第三方的精品控件,比Delphi自带的强大,代码也很精干。
 
yntw你好:
你所说的情况我也知道,有没有其他办法。。。
是不是DELPHI编译环境参数设置问题。。。。
 
YB_unique你好:
请解释详细点,可以吗?
 
前面有一贴比较谁做的程序最小的贴子,你看一下吧
 
我发现设置编译参数好象没什么用处,比如去掉了Debug信息好象并不能减少文件的大小。
我在编译完了之后总是用AsPack来压缩,以减少文件的大小。
Foxmail本身就有2M多,不算太小。
还有一个办法,就是将一些函数或是FORM写成DLL,这样主程序也可以减小些。
 
同意教父,不过,不管怎么折腾,代码质量如果不提高,占内存资源都是一样的惊人
 
生成run time package
project option
 
直接创建一个新项目(d5),运行后,EXE大小是 292,864
其中:
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
改:
uses
Windows, Forms;
后EXE文件大小是:291,840
不用单元要去除,可以减少一些。第三方控件一般会大大加大可执行程序!
 
我看只能用压缩的方法,即使把一些窗体和对话框放到DLL中,主程序尺寸变小了,
但整个软件的总的大小并不会变小,反而更大了,因为那些DLL也是要占空间的,而
且也是软件必不可少的一部分。如果用Run time package的方法就更占空间了,随便
弄个运行包都要好几M呢。
如果你有足够的精力和时间的话,用Delphi像写C的程序那样一步步调用API来写,就
可以把程序缩到最小了。不过那样的话,你也没必要用Delphi这样的RAD编程语言了。
 
对于大一点的程序,建议分成模块来写。对于代码的优化也很重要。
 
aspack 看起来很好 哪有下的??
哪有下的??
 

aspack_____________________________
看雪学院
http://www.pediy.com/tools/PACK/Packers/Aspack/aspack212r.zip
 
后退
顶部