文学艺术|民间故事|神话故事|历代名妓|历代名女|现代故事|诗联趣话|爱情故事|校园故事|传奇故事|帝王将相|荤故事|文化前沿|笑话|图库
论文大全|常用资料|经济金融|会计审计|工商管理|艺术学|社会文化|学科论文|计算机|文学论文|哲学论文|政治论文|法律学|医学|财务税收 
幼教频道|怀孕前|怀孕早期|怀孕中期|怀孕晚期|胎教知识|幼儿期|学前期|儿科健康|个性培养|身高体重|生活起居|育儿策略|玩具游戏|睡眠
两性健康|两性生活|性爱心理|性爱技巧|情感实录|两性生理|两性问答|性疾病|性教育|孕育常识|婚烟物语|健康生活|妊娠病|产后病|不孕症

您现在的位置: 冀鲁信息网 >> 综合信息 >> 论文大全 >> 计算机 >> 计算机理论 >> 综合信息正文

VisualC++与Delphi/C++Builder之比较及未来的发展前景之我见

VisualC++与Delphi/C++Builder之比较及未来的发展前景之我见  
发布时间: 2003-2-20  作者:秩名  
由于Delphi与C++Builder同为Inprise公司产品,共享集成开发界面(IDE),而且 
使用同一套VCL框架(这一点最关键),它们带的调试器、PVCS/TeamSource团队开发支持 
、数据库引擎及企业版中集成的其它高级功能等都是相同的,所以本文将其与C++Build 
er归入"同一阵线"。我在网上见到一些Delphi程序员认为C++Builder与VC比较接近, 
这是个误解。事实上,Delphi和C++Builder除了使用的语言不同,其余几乎都相同。为 
了避免话题转移到C++语言与Object Pascal语言(即Delphi所用的语言)的比较,下文主 
要对比分析Visual C++与C++Builder。 


  首先,从它们的应用程序框架(Application Frame,有时也称为对象框架)进行比 
较。Visual C++采用的框架是MFC。MFC不仅仅是人们通常理解的一个类库。(同样,Del 
phi和C++Builder使用的VCL的概念也不仅仅是一个控件库。)你如果选择了MFC,也就选 
择了一种程序结构,一种编程风格。MFC早在Windows 3.x的时代就出现了,那时的Visu 
al C++还是16位的。经过这些年的不断补充和完善,MFC已经十分成熟。但由于原型出现 
得比较早,MFC相比于VCL落后了一个时代。尽管微软对MFC的更新没有停止,我也经常读 
到持"只要Windows不过时,MFC就不会过时"之类观点的文章,但就象Inprise(原Borl 
and)的OWL框架的淡出一样,MFC的淡出也是早晚的事。如果MFC青春永驻,微软的开发人 
员也不会"私自"开发出基于ATL的WTL呀。当然,WTL的地位不能和MFC比,它并不是微 
软官方支持的框架,封装的功能也相当有限。但至少也反衬出了MFC存在的不足。 


  我以为,最能体现一个应用程序框架的先进性的是它的委托模型,即对Windows消 
息的封装机制。(对Windows API的封装就不用说了吧。大同小异,也没什么技术含量。 
如果高兴,你也可以自己写一个类库来封装。但对Windows消息驱动机制的封装就不是那 
么容易的了。)最自然的封装方式是采用虚成员函数。如果要响应某个消息就重载相应的 
虚函数。但出乎我的意料,MFC采用的是"古老"的宏定义方法。用宏定义方法的好处是 
省去了虚函数VTable的系统开销。(由于Windows的消息种类很多,开销不算太小。)不过 
带来的缺点就是映射不太直观。好在较新版本VC带的ClassWizard可以自动生成消息映射 
代码,使用起来还是比较方便的。但和VCL的委托模型相比,MFC的映射方法就显得太落 
后了。而C++Builder对C++语言进行了扩展,以便引入组件、事件处理、属性等新特性。 
由于功夫做在编译器级,生成的源代码就显得十分简洁。但是由于扩展的非标准特性, 
使用VCL的C++Builder的源代码无法被其它编译器编译。而MFC的功夫做在源代码级,虽 
然消息映射代码较为复杂且不直观,但兼容性非常好。只要你有MFC库的源代码(随VC企 
业版的光盘提供),你的MFC程序理论上用任何符合ANSI标准的编译器均可编译通过。C+ 

[1] [2] [3] [4] [5] [6] 下一页  

新闻中心|农业新闻|蓄产行情|饲料行情|水产行情|
粮油行情|蔬菜行情|农资行情|市场分析|致富经验|
农业科技|植物保护|施肥技术|农作栽培|政策法规|
农业词典|农用物资|加工保鲜|病虫防治|植物验疫|
科技推广|实用技术|新优品种|动物养殖|科技动态|
中药栽培|加工技术|专家观点|电脑技术|网络技术|

| | 设为首页 | 加入收藏 | 联系我们 | 友情链接 | 版权申明 | 网站地图 |
2005-2008 © www.n318.com 冀鲁信息网 冀ICP备05022225号
声明:本站为免费个人网站,无力支付稿酬,如果您不想让您的文章出现在本站请联系我们。我们会在第一时间删除。