一个简单的问题

wolfqixianfeng 2002-08-31 04:25:09
为什么delphi编一个窗口要288k而vc++才17kc++builder才10k
为什么?来者有分,不够再加
...全文
9 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
dailin 2002-09-02
  • 打赏
  • 举报
回复
delphi也能做出很小体积的程序,但这不是delphi的强项。我想我们应该充分利用delphi的长处,做到扬长避短。因为delphi和人一样没有全能型。
haogong 2002-09-02
  • 打赏
  • 举报
回复
因为微软在发布Windows时已经带了好多MFC的DLL,而DELPHI没有。不过有软件可以把你的程序精减。
knock 2002-08-31
  • 打赏
  • 举报
回复
你也可以把delphi程序做得很小,不过不能脱离delphi环境运行。可以只有17k左右
coolwind98 2002-08-31
  • 打赏
  • 举报
回复
看看李维的论坛
给出了delphi和c的一些启示
shuixin13 2002-08-31
  • 打赏
  • 举报
回复


呵呵,强烈推荐 Delphi 完全编译,
到哪都能运行,
cngst 2002-08-31
  • 打赏
  • 举报
回复
Delphi编译的程序也可以很小,方法是:
菜单:project——Progect Options——Packages——选中Build with runtime packages

编译出的EXE文件非常小,但它的运行需要delphi运行库的支持

eulb 2002-08-31
  • 打赏
  • 举报
回复
很简单啊,vc等调用了除了3个核心以外的几个dll
而delphi则没有
所以它的程序才可以在没有装过delphi的机器上运行啊
yoisyois 2002-08-31
  • 打赏
  • 举报
回复
一般来说,borland的编译器总是能生成更小的代码并且通常(并不是在任何情况下)更快的代码。。m$把vc++的运行库(msvcrt*.dll, msvcp*.dll, mfc*.dll, 你看看这些文件加在一起有多大)在安装windows时就放在了system/system32目录中了。其实delphi/c++ builder不论在动态连接或静态连接的情况下,生成的程序都要比vc++的小。比如mdi的例子程序:在delphi/c++ builder中选new ... | projects |mdi application,在vc++中用mdi app wizard;生成的程序功能是非常类似的。
下面是比较结果:
(delphi打开优化,c++ builder使用最大速度优化,vc++ 5使用最小代码优化)

delphi 3 delphi 5 c++ builder 5 vc++ 5
dynamic link 21k 35k 44k 70k
static link 253k 398k 467k 490k

凡是使用了应用类库的程序(不管是mfc,owl,vcl以及新的clx框架)都要比不使用的大不少。这是因为目前的智能连接(smart link)技术还只能针对全局变量/过程,而不能用于对象结构。哪怕你只使用了某个类(或被这个类间接引用)的一个属性或方法,这个类以及它所引用的所有类都全部被连接到exe中。目前所有的编译器都没有解决这个问题。
(ps: 其实能生成最小代码(真编译)的高级语言编译器是turbo pascal,不信你写程序比较一下:
program test;
begin
writeln('hello, world.');
end.
end.
生成的exe不到1.5k。而同样的c程序:
#include
main()
{
printf("hello, world.\n");
}
最精悍的c/c++编译器生成的代码也有6k。
)

摘自“超级猛料”
hezchuan168 2002-08-31
  • 打赏
  • 举报
回复
这个问题比较复杂,怎么解析呢?真的不好说呢?
Truefly 2002-08-31
  • 打赏
  • 举报
回复
当然还有一个减少 体积 的措施是 Compile 选项release , 不要debug。
Truefly 2002-08-31
  • 打赏
  • 举报
回复
你可以用exescope看一下C++ buider 和 VC 的导入库
c++ buider 联了一大堆 .bpl
而VC 联了mfc的dll。
只有delphi什么都没联,只有几个内核dll。

建议试一下 全编译 就可以见庐山真面目了。
memstone 2002-08-31
  • 打赏
  • 举报
回复
因为delphi中的form是delphi生成的,里面有很多保护除错代码.
有兴趣的话自己画,要么去找一个控件,什么名字忘了,做的.exe很小.
budded 2002-08-31
  • 打赏
  • 举报
回复
在Delphi里一样可以做到你只要不添加Form,在 .dpr 文件里自画即可!!
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

jxk 2002-08-31
  • 打赏
  • 举报
回复
delphi,c++builder在编译时的选项不一样,它们的大小就不一样,如果不带他们的运行文件,都可以编译的很小,vc++很小是因为它调用了mfc的动态连接库

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧