登陆论坛 找回密码 立刻获得20pp! 地图 帮助
宽带山生活
版主:

  • 主题内容
<< [1] 2 3 4 >>  [只看楼主]  [加入关注] 点击:5873 回复:80 已被0人关注

主题:Borland C++ Builder,还是VC++

309 0

来自:上海
注册:2000-12-30
发帖:35+94 
刚开始学,不知道该选哪一个,哪一个更好?

抑或这两个差不多?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-20 19:03:11
推荐:牙齿有问题,您找我! ...楼主...

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
C++ Builder已经不是主流编译器了



编译速度慢



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-20 19:23:51

106 0

来自:保密
注册:2002-09-05
发帖:5+18 
现在主流是什么?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-21 00:03:33
推荐:畅玩天下贰,精彩玄幻飞行 ...第2楼...

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
当然VC



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-21 12:24:28

169 0

来自:上海
注册:2002-03-20
发帖:52+385 
How about .NET?




-------------------------------------------------------------------------------------------
仅仅是略知皮毛而已

发表于:2002-10-21 15:20:56

475 0

来自:上海
注册:2001-09-30
发帖:30+707 
学C++没必要决定哪个编译器的先,基本思维和方法ok了,再决定偏向用哪个也可以的。

编译器没有过不过时的,VC照样可以开发出基本现在所有的系统和软件。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-22 20:51:08
推荐:kds红日官网启动啦!!! ...第5楼...

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
C++Builder的底层是用Object Pascal实现的,

关于Object Pascal(Delphi)和VC的优劣,可以看看一篇老文章

http://www.islet8.com/studies/others/20011220.htm

一上来,就比较了Dephi/C++Builder和VC的编译器效率.



学什么,关键是看你的目的:如果你想在软件公司混口饭吃,建议学VC,毕竟是主流;

否则还是C++Builder吧,你会快乐许多.



还有,不要担心BCB的能力,用VC能做到的,BCB全能做到.




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-23 10:07:23

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
那文章中说的纯粹是骗人的数据,或者说是选择性数据。



我花了很长时间看VC6目标代码的反汇编,比较Delphi,感觉两者根本不是一个数量级别的。Borland说得很明确了,BCB是一个RAD,如果RAD能做到所有VC++能做到的,那么也就不用给自己戴哪个帽子了,对吧?退一万步,delphi能做的很好,什么都能做,ASM同样也可以,或许大家都该喊着“VC能做的ASM都能”,然后和VC说拜拜?hehe



再看看移植,学了VC以后如果哪天要做嵌入开发,这种迁移将很平滑。eVC有那么多和VC的共同点,很多时候只要注意一下CE上不支持的API如PIPE等,马上就能移植到嵌入设备上,而如果用BCB,hehe,上了贼船了!慢慢修改或者重写吧。



hehe,我听到了Kylix,Kylix能让我们将BCB程序移植到Linux,那如果我的Linux跑ARM的处理器,Kylix有作用?如果是MIPS,Kylix能用?但如果换了VC,当迁移到eVC上给MIPS/SHx/ARM等处理器做应用,绝大多数情况下根本不要针对处理器的不同做任何修改,半个Bit都不用(用了ASM自然例外)。



用过Borland提供的Paradox以后我相信十年来熟悉的Borland已经死了。感谢上帝,没有Borland,世界依旧很美好。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-23 13:31:05

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
RAD有什么不好?见

http://www.sunistudio.com/nicrosoft/article/art9.htm



Dephi(BCB)和VC的争论由来以久,懒得再争了,无聊.



我的观点:

如果你想在软件公司混饭吃,那就学VC吧,能再简历里写"能进行嵌入式软件开发"哦.

如果只是想丰富一下平淡的业余生活,体验一下造物主的快感,那还是BCB/DELPHI比较好,哪来的什么嵌入式系统来给你开发?




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-23 16:49:02

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
的确没有什么好讨论的,不过看你给出的第一篇文章感觉作者吹牛并且吹牛功夫很差。



同时请问老兄和Nicrosoft有什么关系吗?



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-23 17:06:19
推荐:KDS红日球迷会2010招募公告 ...第9楼...

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
我和Nicrosoft没什么关系,他不认识我,我不认识他。



如果你觉得第一篇文章在吹牛,请摆事实讲道理,哪里在胡编乱造?他的文章的漏洞在哪里?



迫切希望学习。




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-23 21:53:16

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
这文章简直在胡闹



你用它的程序自己尝试过吗?如果自己用VC尝试过,我想不会这么问的。就好像有人说“VC不能开线程”,那一定要别人证明开一次线程看看?



当然如果你坚持,我可以举其中很多错误出来,并且能提供左右反汇编代码。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-23 22:56:45

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
请举例

最近正在研究反汇编,在这里看看反汇编代码,应该是满有趣的。




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-23 23:24:38
推荐:爱尔给我的“重生” ...第12楼...

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
先看说产生一个hello world大小的那例子。Turbo Pascal产生的hello world的确小,但是那是win32程序还是dos程序?dos程序去掉一个简单的MZ Header以后就没有任何多余的信息了,这里的多余指不能从source对应的东西,比如分配堆之类的。当然,如果是保护模式的,情况又不一样,但我不相信作者说的为保护模拟下的hello world。



看看win32下各类编译器,他们产生的代码要有:MZ Header、Dos STUB 、PE Header 、OP Header 、Section Table,然后是各个节,节里面还有诸如导入导出表、资源、线程本地存储等数据。加上一个进程被Loader加载以后需要自己去分配堆,在结束时候需要自己去结束进程,做清理工作。这种情况下用DOS程序大小比较win32程序,得出Borland比MS的东西,只能说是胡闹。



再看下一个例子:

void foo(void)

{

int i, j;

for (i = 0; i < 16; i++) j = j + i;

}



文中说:



C++ Builder 5生成的代码(最大速度优化):

00401535 33c0 xor eax,eax 1

00401537 40 inc eax 1

00401538 83f810 cmp eax,0x10 1

0040153b 7cfa jl -0x06 0 (可并行)



没有做加法为何要保留这个循环?很简单,Borland无法优化掉这个循环。



再来看看VC,为何用VC5?莫非作者任何VC5和BCB5一个年代的?为何不换四年前的VC6?

我初中2年级上物理课就知道写试验报告要写设备型号与编号,可惜作者为了达到某些目的没有写,或许用个人版和BCB企业版比较



VC6 企业版+sp5,关闭其它优化,仅打开全局优化,然后看看反编译结果。

我用的代码是

void foo()

{

int i,j;

for(i=0;i<16;i++)

j = j + 1;

}



int main(int argc, char* argv[])

{

foo();

}



结果:

.text:00401020 public start

.text:00401020 start proc near

.text:00401020

.text:00401020 var_20 = dword ptr -20h

.text:00401020 var_1C = dword ptr -1Ch

.text:00401020 var_18 = dword ptr -18h

.text:00401020 var_14 = dword ptr -14h

.text:00401020 var_4 = dword ptr -4

.text:00401020

.text:00401020 push ebp ; sub_401020

.text:00401021 mov ebp, esp

.text:00401023 push 0FFFFFFFFh

.text:00401025 push offset unk_4050A0

.text:0040102A push offset __except_handler3

.text:0040102F mov eax, large fs:0

.text:00401035 push eax

.text:00401036 mov large fs:0, esp

.text:0040103D sub esp, 10h

.text:00401040 push ebx

.text:00401041 push esi

.text:00401042 push edi ; ExceptionInfo

.text:00401043 mov [ebp+var_18], esp

.text:00401046 call ds:GetVersion

.text:0040104C xor edx, edx

.text:0040104E mov dl, ah

.text:00401050 mov dword_4084E4, edx

.text:00401056 mov ecx, eax

.text:00401058 and ecx, 0FFh

.text:0040105E mov dword_4084E0, ecx

.text:00401064 shl ecx, 8

.text:00401067 add ecx, edx

.text:00401069 mov dword_4084DC, ecx

.text:0040106F shr eax, 10h

.text:00401072 mov dword_4084D8, eax

.text:00401077 push 0

.text:00401079 call sub_401B26

.text:0040107E pop ecx

.text:0040107F test eax, eax

.text:00401081 jnz short loc_40108B

.text:00401083 push 1Ch ; Overlapped

.text:00401085 call sub_401124 ; _fast_error_exit

.text:0040108A pop ecx

.text:0040108B

.text:0040108B loc_40108B: ; CODE XREF: start+61j

.text:0040108B and [ebp+var_4], 0

.text:0040108F call __ioinit

.text:00401094 call ds:GetCommandLineA

.text:0040109A mov dword_4089D8, eax

.text:0040109F call ___crtGetEnvironmentStringsA

.text:004010A4 mov dword_4084C0, eax

.text:004010A9 call __setargv

.text:004010AE call __setenvp

.text:004010B3 call __cinit

.text:004010B8 mov eax, dword_4084F4

.text:004010BD mov dword_4084F8, eax

.text:004010C2 push eax

.text:004010C3 push dword_4084EC

.text:004010C9 push dword_4084E8

.text:004010CF call j_unknown_libname_1   //main()

.text:004010D4 add esp, 0Ch

.text:004010D7 mov [ebp+var_1C], eax

.text:004010DA push eax ; int

.text:004010DB call _exit







.text:00401010 j_unknown_libname_1 proc near ; CODE XREF: start+AFp

.text:00401010 jmp unknown_libname_1

.text:00401010 j_unknown_libname_1 endp



.text:00401000 unknown_libname_1 proc near ; CODE XREF: j_unknown_libname_1j

.text:00401000 retn //foo()整个被优化掉了?

.text:00401000 unknown_libname_1 endp



从上面的例子也可以看出,用win32比DOS的Image大小多可笑吧?



最后说Delphi,我从来没有看过delphi,和不打算考虑VB一样,这种东西无非希望让你上他的贼船,然后嘿嘿,我实在不知道投资这种垄断的语言工具,如同Borland掐住了你的脖子,还说快乐.......



btw:我做过更加详细的关于C++各语言特性在win32+VC的实现的观察,包括诸如异常处理、虚函数实现、构造析构函数机制等等,如果老兄有兴趣,不妨交流这方面的东西。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-24 11:15:24

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
先看说产生一个hello world大小的那例子。他拿的是Turbo Pascal,当然比的是DOS下的编译后的EXE文件的大小,原话如下:

“(ps: 其实能生成最小代码(真编译)的高级语言编译器是Turbo Pascal……最精悍的c/C++编译器生成的代码也有6k。”

请不要断章取义,说他在“用DOS程序大小比较WIN32程序”。





接下来是VC6的例子,我自己也试了一下,真的被优化调了。



不过VC是不是一种“垄断的语言工具”呢?不给Borland掐住你的脖子,而去给M$掐住脖子,是不是比较快乐一点呢?是不是有一种五十步笑一百步的味道呢?




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-24 21:05:25

105 0

来自:福建
注册:2002-01-31
发帖:0+4 
VC能做到的,BCB也能做到。关键是BCB易学易用,且开发效率高,我喜欢。

欢迎光临我的网站,我的加密金刚锁就是用BCB5开发的:

http://www.encrypter.net/cn/index.html



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-24 21:30:53
推荐:迎新年牙齿美容大行动 ...第15楼...

105 0

来自:福建
注册:2002-01-31
发帖:0+4 
再给大家一篇文章:几种常用开发工具的比较

http://www.encrypter.net/article/other0001.htm

从各方面进行综合比较,其中,BCB的得分最高。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-24 21:39:13

105 0

来自:福建
注册:2002-01-31
发帖:0+4 
再给大家一篇文章:几种常用开发工具的比较

http://www.encrypter.net/article/other0001.htm

从各方面进行综合比较,其中,BCB的得分最高。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-24 21:39:14

216 0

来自:上海
注册:2001-05-31
发帖:26+229 
这种比较都是屁话。

要玩真的就看看adobe,autodesk...等等排名前十位的软件商都是拿什么编译器的。



“锁向无敌”????

哈哈哈哈哈哈哈哈哈哈哈哈哈

downloadingdownloadingdownloadingdownloadingdownloadingdownloading



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-24 23:34:05
推荐:本能寺之变 ...第18楼...

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
用的人多,就是最好的?

那在美国用VHS的比VCD的多得多,那VHS就比VCD好了?

中国骑自行车的比开汽车的多得多,那自行车就是一种比汽车更好的交通工具了?



BCB不是玩不了真的,用的人少,是因为Borland的产品中间有断层,所以当他的BCB出来的时候,许多人已经习惯用VC了.习惯的力量是巨大的.




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-25 10:03:13

358 0

来自:上海
注册:2000-12-22
发帖:20+1025 
用的人多,就是最好的?

那在美国用VHS的比VCD的多得多,那VHS就比VCD好了?

中国骑自行车的比开汽车的多得多,那自行车就是一种比汽车更好的交通工具了?



faint......

这样也能做对比?

老兄还是比较适合做辩手



BCB的bug是出了名的多,玩玩当然可以.要做项目的话谁敢用?




-------------------------------------------------------------------------------------------
msn:保密

发表于:2002-10-25 12:50:50

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
faint......

这样当然不能作对比.我只是说明用的人多,未必是最好的 .归谬法,OK?



windows的bug是不是出了名的多?还不是有一大群人屁颠屁颠的跟在后面搞开发.




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-25 13:18:30

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
“任何C编译器都不怎么样,我用100个字节就能手工写一个hello world出来,不用任何编译器、汇编器”,你听这话怎么感觉?无非是抬高自己贬低别人。



请首先收回M$这种说法,眼红Microsoft有钱有技术完全可以开个Marcohard看看,看看是破产还是赚翻。就是因为有了Microsoft,今天软件设计人员的才不用同时考虑诸如OS/2的API等等问题。感谢上帝,1995年Microsoft就彻底统一了PC上的操作系统和开发工具市场。



同时,用VC做开发为何说有人掐我脖子?我夏天用VC写的一个PE分析及免疫工具一个字节也不用改就可以用包括VC/BCB/GCC编译,运行在win32/Linux下,如果老兄需要,我可以给你一份上述编译器得到的Binary。现在我在用VC做一个http服务器,已经可以支持Perl/PHP,我可以保证当需要移植到Linux的时候要做的工作量绝对不多过Linux+GCC开发移植到Win32所需要的工作量。选择了正确的工具,我的时间都花在了软件的本质上,而非某家的商业成果上。



至于Delphi和VB,咱还是那句话,无非是玩具,或者说贼船。BCB也能用但仅仅能用而已,看看Kylix3的宣传,居然将预编译头作为突出的功能卖点,或许BCB/Borland真的已经烂的不行了。



其实问题归结到一句话:什么东西有用就用什么,毕竟我们是用户。我看到Linux不成熟,我就多用Windows,当我看到RedHat8做的很不错,我就首先将我所有计算机中的Mandrake全部换成RH8,道理很简单,我们不是去改变某个产品,而是去用某个产品。VC好,我就用VC,但我绝不妨碍你选择BCB,更加不写那种文章诬蔑VC,并且假设所有读者都是白痴。



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-25 14:49:39

190 0

来自:保密
注册:2002-09-16
发帖:35+410 
麻烦看过www.kernel.org的更新列表再评论操作系统的Bug数量,Linux Kernel推出过的版本是三位数吧?除了Bug还有什么?按照老兄的逻辑,搞Linux开发的都是什么?



void joke

{

SYSTEMTIME stToday;

GetSystemTime(&stToday);

printf("The Culture Revolution was stopped %d years ago",stToday.wYear - 1978);

}



-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......

发表于:2002-10-25 14:56:36

212 0

来自:上海
注册:2001-09-09
发帖:13+128 
"我夏天用VC写的一个PE分析及免疫工具一个字节也不用改就可



以用包括VC/BCB/GCC编译"

你写的这个东东用了VC的MFC吗?拿一个Ansi C++的程序来证明



VC的移植性高,是不是有点可笑,是不是有点胡闹?



刚才比较了一下一些程序在BCB和VC上的反汇编代码,结果,



在程序优化上VC6确实有一手。



VC和BCB/Delphi的比较,除了编译效率、界面设计方式的比较外



,还有一个很重要的项目,就是MFC和VCL这两个封装库的比较



。回顾上面的回复,竟都没有提到这个,失败啊。



看看这篇文章如何:

http://www.bcbschool.com/newls/ls01.htm#VCL vs MFC



关于对微软的崇拜情结和对微软的抵触情绪,呵呵,人个有志,



不妄加评论。在一本书上看到的:



一个人若是为有了宗教而骄傲、自满,甚至因此鄙薄无信仰的人



,或动辄排斥与他信仰稍稍不同的人,便表示他自己还没有找到



信仰,所以,他也在自己鄙薄和排斥之列。

《疑神》杨牧





BTW: 还有,不要把VB和Dephi相提并论,两个根本不是一个级别的。




-------------------------------------------------------------------------------------------
水不是这么灌di

发表于:2002-10-25 22:33:27

发表文章 回复文章
<< [1] 2 3 4 >>  [只看楼主]
回复主题 [ 返回 ]
主题: Borland C++ Builder,还是VC++
手机看宽带山

关于我们 - 联系我们 - 加入我们 - 营销服务 - 友情链接 - 频道合作- PChome Widget
Copyright © 1996-2009 PChome.net All rights reserved. 电脑之家 版权所有