Chinaunix首页 | 论坛 | 博客
  • 博客访问: 988574
  • 博文数量: 158
  • 博客积分: 4380
  • 博客等级: 上校
  • 技术积分: 2367
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-21 10:45
文章分类

全部博文(158)

文章存档

2012年(158)

我的朋友

分类: C/C++

2012-11-20 10:46:52

关于编译器对标准支持的两个谣言
1. BCB5对C++标准支持比VC++6好
--- 好像来自于侯捷先生,而我测试(未全部测试)的结果是,BCB5和VC++6对C++标准的支持程度差不多,但BCB恰恰在较常用的语法上不支持,或支持有偏差,这非常讨厌。但侯捷是可信赖的专家,也许存在上下文的关系,所以我虽然不认同BCB5对C++标准支持超过VC++6,但我相信侯捷。

2. g++部分支持C++标准,VC.net100%支持C++标准
--- 我一直没找到这个谣言的出处,所以我认为这是SB们拼凑出来的。作为实事,没有哪一个编译器敢大言不惭地说自己100%支持C++标准,于是g++必然在其文档中谦虚地承认自己不是完全支持C++标准;作为广告,完全可能有一些不负责任的相关商人吹嘘过VC.net100%支持C++标准,甚至这些人只是把100%支持C++标准当成VC.net的开发目标,而好事且无知的粉丝们传成了“VC.net已经100%支持C++标准”。
北京一群靠着墙根晒太阳的瘪三,可能闲得无聊而吹嘘自己上知天文下知地理,无所不知;而爱因斯坦可能谦虚地承认自己还有待学习研究。
“瘪三无所不知/VC.net100%支持C++标准”和“爱因斯坦还有待学习/g++不能完全支持C++标准”单独说出来都无可厚非,但如果放在一起那就笑掉大牙了:“g++只部分支持C++标准,VC.net100%支持C++标准”、“爱因斯坦还要学习呀,北京瘪三已经无所不知。”
这还不是最无耻的,最无耻的是“g++部分支持C++标准”这句话,g++虽然不可能100%支持C++标准,但也接近圆满了。虽然接近100%,但仍然不是100%,那就可以说成是“部分支持”,这就给读者一种潜在暗示,暗示g++很不支持C++标准。“A支持99%,B支持98%”虽然可以降解为“A只能部分支持,B支持98%”,但潜在的暗示完全歪曲了事实本身。
对另一群SB说:看清楚了,在本文中我并没有批评过VC.net,不要把“仇M$”的帽子往我头上扣,我批评的是那群歪曲事实的人。
对其他人说:VC++2005对C++标准的支持已经和g++很接近了,这是非常值得庆贺的事,两者肯定都还存在不支持的部分,但于我这种低需求的人,已经足够了,目前还没有发现有因为VC2005对C++支持太差而不得不换g++编译器的事发生。把代码分别在VC2005和g++中编译一次是一个好习惯,尤其会发现头文件的一些差别,比如这个头文件。

阅读(3126) | 评论(19) | 转发(0) |
给主人留下些什么吧!~~

网友评论2012-11-20 10:49:18

firingme
差点忘了,微软官方对VS2003的宣传是98%支持标准C++。而且现在至少在boost里面,大家还是认同VS2003是主流编译器里面最符合标准的。
周星星的fud不知道是听来的还是自己fud出来的?

网友评论2012-11-20 10:49:09

firingme
认真看过MCD的人都知道,Andrei Alexandrescu 用的是Comeau。认真研究过标准和实现间的关系都知道,主流编译器里面,Comeau是唯一支持export关键字的编译器。要装专家就多看点书吧。

网友评论2012-11-20 10:49:00

周星星
还是你们牛呀,我听都没听说过

网友评论2012-11-20 10:48:52

刘未鹏
其实comeau的支持是最棒的,一直都用它:P

网友评论2012-11-20 10:48:40

wavestyle
我不怀疑侯老师这个光辉形象有媒体推波助澜的因素在里头。

但侯老师自始自终所表现出来的谦逊和严谨的态度倒很值得你我学习。

你觉得呢