DELPHI编译问题(如何让编译的EXE文件最小) 我的程序大部会主要是用API写的,几有没到VCL,但是编译出来程序还是很大,我已经把在USES里去掉了很多库文件,但还是比较大,有哪些方法可以全面地设置,让DELPHI编程出的程序更小,我看到别人用纯API写的程序编译出来是很小的,为什么我的就这么大呢, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是否引用了Dialogs单元?如果要求编译出来的EXE最小,需要重写System.pas,SysInit.pas两个内核单元,去掉一些多于的代码,据说编译出来最小的HelloWorld程序只有3k左右。 如果用纯api写还不如用masm直接,比delphi小很多 创意、自由、灵活,超强的报表功能, 独特的双数据源连接,全功能的表格组件! http://www.anylib.com 这个问题讨论过很多次了EXE体积真的这么重要?除非你是...呵呵~ 如果楼主主要用API的话可以试试用KOL,写出来的程序很小,建立一个空的Form才25K左右,但VCL的控件就用不了了,KOL本身带了一些基本控件,他的网站上还有一些,个人感觉很不错。推荐把主要代码写在DLL中,然后用KOL写的窗体来调用DLL,这样比较简单,因为用KOL还有点不适应 大部分是API写的,还引用了这些类 registry ,inifiles idhttp 这些单元 能把体积控制到保种程度 用了IDHTTP还说没用VCL?INDY的基类都编译进去了。 如果自己写IDHTTP也太麻烦了吧 除了WIndows单元其它什么也别用,就只有10几K //你可以试着编译这个工程文件,剩下的全部用API写,最多也就几十K。program Project1;uses Windows;//{$R *.res}beginMessageBox(0, '好的程序:)。', '提示', MB_OK + MB_ICONSTOP + MB_TOPMOST);end. delphi源代码分析里面分析了miniexe,你可以参考一下. 是的,不能引用任何VCL控件,只要加进一个,程序立马变几百K。 你采用BPL的编译方式也可以达到非常小的可执行文件。《VCL源代码分析》一书介绍了详细的方法让你的程序变得最小。 idhttp这个东东,加进去,EXE绝对小不下去地呵呵 大点有什么不好吗,不需要一堆的DLL,你又不做病毒.VC的静态编译出来的EXE,也不小! 准确地说,VC++编译的程序,如果静态连接(不使用msvcrt.dll),而且使用了MFC(不使用mfcxx.dll等),比Delphi生成的同样功能的程序大了不是一点半点。 //你可以试着编译这个工程文件,剩下的全部用API写,最多也就几十K。program Project1;uses Windows;//{$R *.res}beginMessageBox(0, '好的程序:)。', '提示', MB_OK + MB_ICONSTOP + MB_TOPMOST);end./////////////////////////////////////////////我很久以前就用这种写法调用DLL 主程序 只有11.5K还是觉得很大 Windows单元比较大 能不能不用引用任何单元就能调用DLL的 看看Aimingoo前辈的那本书吧 <DELPHI源代码分析> 来散点分 delphi 加密数字转换成ASC字符,出现的问题! 请问怎么获得一个外部程序窗体的Handle? 如何利用 TFileStream实现对LPT1打印端口写入数据 又来了,求邮件收发源码一份,只需要基本功能就行了,不过更详细更好, 求救!在哪里能下载TMscomm控件包??急! 在线等!! DBGridEh的问题!! 关于获取数据库时间的问题! 如何让一控件在程序运行中,控件大小可以改变?急盼高手解决。 如何引用VBA中的函数 如何做一个flash或简单动画的登陆欢迎界面 同一单元类之间的相互引用问题
独特的双数据源连接,全功能的表格组件!
http://www.anylib.com
EXE体积真的这么重要?
除非你是...呵呵~
推荐把主要代码写在DLL中,然后用KOL写的窗体来调用DLL,这样比较简单,因为用KOL还有点不适应
INDY的基类都编译进去了。
program Project1;uses
Windows;//{$R *.res}begin
MessageBox(0, '好的程序:)。', '提示', MB_OK + MB_ICONSTOP + MB_TOPMOST);end.
里面分析了miniexe,你可以参考一下.
《VCL源代码分析》一书介绍了详细的方法让你的程序变得最小。
program Project1;uses
Windows;//{$R *.res}begin
MessageBox(0, '好的程序:)。', '提示', MB_OK + MB_ICONSTOP + MB_TOPMOST);end.
/////////////////////////////////////////////我很久以前就用这种写法调用DLL 主程序 只有11.5K还是觉得很大 Windows单元比较大 能不能不用引用任何单元就能调用DLL的