数学建模社区-数学中国

标题: [网摘]Visual C++ 8.0劫持C++标准? [打印本页]

作者: kampoo    时间: 2006-1-15 21:48
标题: [网摘]Visual C++ 8.0劫持C++标准?
<DIV class=postTitle><a href="http://blog.csdn.net/myan/archive/2005/11/15/530350.aspx" target="_blank" >Visual C++ 8.0劫持C++标准?</A></DIV><BR>
3 |, w# C- ^1 t2 x0 O$ e+ A<DIV class=postText>( Q4 G3 W5 O0 g
<>Danny Kalev是Informit.com网站C++板块的主持人,一个我比较欣赏的、死忠于C++的、略带有神经质的、敏感的blogger。今天他在informit上发表了一篇文章,题目吓死人:“<a href="http://www.informit.com/guides/content.asp?g=cplusplus&amp;seqNum=259&amp;rl=1" target="_blank" >Visual C++ 8.0劫持C++标准</A>”。我赶忙跑来一看,原来是关于一个编译警告的。大致是这样的:VC++ 8.0对于std::copy算法的某种用法给出了这样的警告“此函数已经被废弃”。这还了得,惹恼了一向心地纯洁的Danny,于是写出文章来声讨。据他在文章里说,这个事情目前正在C++标准委员会的maillist中爆吵。</P>
6 }/ X3 w  O: J: J! p4 G  @<>我觉得,C++有幸拥有一批像Danny Kalev这样的纯洁主义者,才没有成为巨人手中的玩物。C++也有幸拥有一些像Microsoft这样的big player,才能不断搞些新花样出来,不至于窒息而死。微软为什么要对这个std::copy提警告,原因很简单:安全性。这个std::copy的行为跟C语言的strcpy, memcpy差不多,是不由分说的,不计后果的。只要你脑子短路一秒钟,这个算法就能让你的应用程序分崩离析。</P>
$ S! ~% N7 x$ k) T2 r<>我该支持VC++的做法吗?也支持也不支持。正如我准备在马上召开的C++技术大会上的演讲里说的那样,一切有助于提高C++生产率的改进都是值得赞赏的。如果VC Compiler只是温存的建议和善意的提示一下,那么我想这里是没有任何争议的。这个提示也许可以让你避免几个星期的痛苦的debugging,对于生产率的提升效果不言而喻。然而,微软的警告用语是蛮横的,越过了界限。“废弃?”,微软认为自己有权废弃一个ISO标准中的算法?仅仅因为自己开发了一个编译器?这就好像是说,一家生产皮尺的公司可以改变1米的度量一样可笑。Danny通篇抨击的也就是这一点。</P>% R( D1 t, K! Y* a2 N# v* Z8 d
<>不过问题在于,看看这个标题,“劫持”,Danny,你的用语是不是也越过了界限呢?不管怎么说,我不认为VC8与标准C++是对立的东西。不,我认为VC8不是邪恶势力企图将C++引入歧途的工具,而是引导C++迈向未来的重要一步。只不过,微软即使要裹挟C++,动作也应该温柔一点。毕竟这不是你自家的VB和C#,想怎么掰持就怎么掰持。</P></DIV><BR><BR>转载自: <a href="http://blog.csdn.net/myan" target="_blank" >http://blog.csdn.net/myan</A><BR>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5