社区
C++ Builder
帖子详情
c++builder程序的速度
begwolf
2000-06-03 04:03:00
VCL是pascal语言写的,这是否会影响所编程序的速度,尤其是数据库和网络程序?这种影响大不大?与VC相比如何?
...全文
315
7
打赏
收藏
c++builder程序的速度
VCL是pascal语言写的,这是否会影响所编程序的速度,尤其是数据库和网络程序?这种影响大不大?与VC相比如何?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
darkstar
2000-06-06
打赏
举报
回复
VC 6
?a@@YAHH@Z PROC NEAR ; a,
; Line 2
push ebp
mov ebp, esp
sub esp, 72 ; 00000048H
push ebx
push esi
push edi
lea edi, DWORD PTR [ebp-72]
mov ecx, 18 ; 00000012H
mov eax, -858993460 ; ccccccccH
rep stosd
; Line 3
mov DWORD PTR _a$[ebp], 0
; Line 4
mov DWORD PTR _i$[ebp], 0
jmp SHORT $L219
$L220:
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
$L219:
mov ecx, DWORD PTR _i$[ebp]
cmp ecx, DWORD PTR _n$[ebp]
jge SHORT $L221
; Line 6
mov edx, DWORD PTR _a$[ebp]
add edx, DWORD PTR _i$[ebp]
mov DWORD PTR _a$[ebp], edx
; Line 7
jmp SHORT $L220
$L221:
; Line 8
mov eax, DWORD PTR _a$[ebp]
; Line 9
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0
?a@@YAHH@Z ENDP ; a
halfdream
2000-06-06
打赏
举报
回复
呵呵我建议举几个例子来看看:
这儿有一段程序:
int a(int n)
{
int a=0;
for(int i=0;i<n;i++)
{
a+=i;
}
return a;
}
下面是用BCB4 编译产生的汇编代码:
.......................................
push ebp
mov ebp,esp
mov ecx,dword ptr [ebp+8]
@1:
xor edx,edx
@2:
xor eax,eax
cmp ecx,eax
jle short @4
@3:
add edx,eax
@5:
inc eax
cmp ecx,eax
jg short @3
@4:
mov eax,edx
@8:
@7:
pop ebp
ret
.....................................
现在我手边没有VC .
希望哪位感兴趣,把相应的汇编代码贴上来.
因为实际的问题是比较复杂的.这样的比较也许意思不大.
alexela
2000-06-06
打赏
举报
回复
C++Builder语言的编译器是很不错的。用C++Builder编程,主要是优化代码,灵活性强。我不同意KXY 的观点。用C++Builder 编数据库和网络程序,由于其采用C代码,其效率和速度以及优化性,都远好于POWERBULDER和JAVA。这一点你用了就会知道。
C++Builder 编译器是一种优化编译器,并不是单纯的C编译器。由于采用了C++,对程序进行了有效的数据封装,其安全性是C、VC所不能比的。可能程序运用继承,代码增多,但其速度和执行效率不会落下。这点如果你了解C++的多态性就会明白。
kxy
2000-06-03
打赏
举报
回复
最后的程序的执行速度和编译器的好坏有关,和语法无关.
不管语法是C的还是Pascal的.
打一个比方
delphi :
function Add(a,b:integer) : integer;
begin
result := a+b;
end;
C :
int add(int a,int b)
{
return a+b;
}
如果C的编译器比较差,编译出来的汇编码是(我只是打比方,我的汇编比较差)
mov ecx,eax
mov ebx,edx
add ebx , ecx
mov eax,ebx
//
如果pascal的编译器比教好编译出来的汇编码只要一条
add eax,edx
//
Borland是做编译器起家的,他的编译器还是不错的,可惜windows是M$的
M$的编译器可能比Borland的要好一点点.
halfdream
2000-06-03
打赏
举报
回复
VCL 做的事比较MFC要多一些。
不过速度损失非常有限。
而且它避免了很多人为而造成的速度变慢因素,VC则不然。
至于网络程序,两者速度为什么会有差别?不过开发速度倒很有差别。
至于数据库程序,BCB可以选择访问数据库的方法多种多样,
与VC同样方式访问数据库的时候, 两者也并没有什么差别。
kxy
2000-06-03
打赏
举报
回复
比VC要稍微慢一点,
pascal最后也是编译成机器原生码.
windows是M$的,VC也是M$的,所以VC的原生码.可能要快一些.
Wilbur
2000-06-03
打赏
举报
回复
汇编语言的程序一定比basic程序快?
C++ Builder 50经典入门
C++Builder
是基于C++的,它具有高速的编译,连接和执行
速度
。同时,
C++Builder
具有双编译器引擎,不仅可以编译C/C++
程序
,还能编译Object Pascal语言
程序
。 2.
C++Builder
是优秀的可视化应用
程序
开发工具 ...
使用
C++Builder
控件进行FTP
程序
设计
TCP控件可以建立一个FTP的连接,然后使用分别...这样可以加快下载
速度
。 在建立一个FTP连接时,先把使用一个TCP控件连接远端的21号端口,在发出端口命令。当查找到所下载的文件后,再分成多个线程对一个文件进行下载。
CBuilder XE与SQLite快速开发app
因为C++ Builder XE10资料一直较少,所以作为C++ Builder业余fans,有必要为这冷门提供一些技术支持,与小伙伴们一起成长!本视频系列,主要是讲解C++ Builder XE10与sqlite来快速开发手机安卓app,让学友们能够快速掌握这个搭建开发过程,不走弯路。学习的好处在于,这个软件不需要复杂的安装与环境配置要求。实再是太简单了,只要懂点C++,就可以搞起了。
C++ Builder写的ZEC 落体弹跳的小球 v0.5.bin
C++ Builder写的ZEC 落体弹跳的小球 v0.5.bin 小球从顶部落体后,加速下落,碰到地面反弹,不断地落体弹跳,高度越来越低,最后
速度
为零,停止弹跳。
程序
使用简单算法来模拟落体弹跳,没有使用物理公式计算。
c++ 简介
C++Builder
5继承了以前版本的优点,并在此基础上增添了许多新的功能,比如在ADO、数据模块设计、IBX、MIDAS、CORBA、
程序
调试、VCL、窗体框架和桌面定义等方面都增强了许多,可以极大地提高软件系统的设计、管理和...
C++ Builder
13,825
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章