设为首页 加入收藏

TOP

3.9 C++兼容性
2013-10-07 14:13:40 来源: 作者: 【 】 浏览:70
Tags:3.9 兼容性

3.9   C++(www.cppentry.com)兼容性

C++(www.cppentry.com)使用C89预处理器,因此C和C++(www.cppentry.com)在这方面的差别极微。

预定义宏

C++(www.cppentry.com)编译器预定义了__cplusplus宏,可以在源文件中使用,并且在C和C++(www.cppentry.com)环境中都适用。这个预定义宏并不遵循标准C的拼写约定,而是与原有的C++(www.cppentry.com)编译器兼容。在标准C++(www.cppentry.com)中,它的值是个版本号,例如199711L。

至于C++(www.cppentry.com)环境(在C++(www.cppentry.com)的当前定义中)是否定义了__STDC__,则是由编译器定义的。标准C和标准C++(www.cppentry.com)之间存在足够的差别,因此并不清楚是否应该定义__STDC__。

表3-2所列出的只有C99才有的宏在C++(www.cppentry.com)中均不存在。

例子

为了与传统C、标准C和C++(www.cppentry.com)兼容,应该按照下面这种方式对环境进行测试:

 
如果读者知道自己所使用的C编译器遵循标准C,则可以采用简化的方式:
 
参考:__STDC__ 第3.3.4节;__STDC__VERSION__ 第3.3.4节。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇掀起C++ 11的神秘面纱(1) 下一篇掀起C++ 11的神秘面纱_开发技术周..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: