一个关于大型软件的软件编译的问题
我们公司用的税控开票系统是由航天信息用delphi开发。看了一下它的程序目录,里面除了主程序kp.exe外,有很多共主程序调用的.dll,.bpl等动态链接库文件。
我觉得奇怪的是这么一个大型软件它的主程序才几百KB(kp.exe大小718KB),而我自己开发的一些小程序随随便便就几百KB。
我想,是不是像这种大型软件他的编译方式和一般小程序的编译方式不同,可以把主程序分成好几部分逐个编译,然后通过一个.exe文件链在一块运行。
问题点数:100、回复次数:12Top
1 楼liangqingzhi(老之)回复于 2006-03-25 19:23:48 得分 0
你也看到有很多.dll,.bpl文件啦,代码就写在里面,编译之后,提供给主程序来调用。
所以主程序就很小了。Top
2 楼chineseren(花花公子)回复于 2006-03-25 21:51:19 得分 0
我想,像调用读卡器驱动,当然是通过调用读卡器动态链接库来实现的,但主程序具有那么多的窗体,怎么可能做得那么小呢?窗体越多,主程序体积应越大。
唯一的可能,大型软件的编译方式和我们通常看到的编译成一个可执行文件的方式不一样。Top
3 楼qiume(好好回贴,天天胖胖)回复于 2006-03-25 22:05:16 得分 80
我想,像调用读卡器驱动,当然是通过调用读卡器动态链接库来实现的,但主程序具有那么多的窗体,怎么可能做得那么小呢?窗体越多,主程序体积应越大。
唯一的可能,大型软件的编译方式和我们通常看到的编译成一个可执行文件的方式不一样。
// 菜单--->project--->options--->Packages将Build with runtime packages选上,再编译Top
4 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-25 22:55:55 得分 0
麻雀虽小,五脏俱全~~~
也就是说就算你什么新建一个普通的Application,基本框架还是有的,所以有几百K,然后就算你写几K的程序在里面,还是几百KTop
5 楼zhangl_cn(和尚-修行)回复于 2006-03-25 23:12:25 得分 10
如qiume(杜克[在Coder和Designer之间徘徊]) 兄所说,Build with runtime packages之后编译出来的程序会小很多
Top
6 楼lvjack(追逐梦想)回复于 2006-03-25 23:35:31 得分 0
“但主程序具有那么多的窗体,怎么可能做得那么小呢?窗体越多,主程序体积应越大。”
呵呵,窗体也可能是执行dll搞出来的啊:)Top
7 楼47522341(睡到8:30)回复于 2006-03-26 14:18:26 得分 10
楼主蒙对了;^_^
按你的想法继续吧;^_^Top
8 楼chineseren(花花公子)回复于 2006-03-27 14:44:50 得分 0
我用qiume(杜克[在Coder和Designer之间徘徊]) 兄所教的方法,重新编译了工程后,确实比原来的编译结果小了很多,但为什么不会产生vcl70.bpl这样的链接库文件呢?
我觉得编译结果应该有VCL70.dpl这样的链接库文件。Top
9 楼qiume(好好回贴,天天胖胖)回复于 2006-03-27 15:21:02 得分 0
链接库文件一般放在Delphi的Bin目录下Top
10 楼chineseren(花花公子)回复于 2006-03-27 22:31:30 得分 0
如何分离出程序需要的链接库文件呢?Top
11 楼chineseren(花花公子)回复于 2006-03-27 22:34:21 得分 0
如何像一般软件一样,主程序不是很大,用到的链接库同时生成在同一目录下。Top
12 楼chineseren(花花公子)回复于 2006-03-28 19:10:04 得分 0
自己顶一下。Top




