首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于预处理名字_cplusplus和_STDC_该怎么解决

2012-02-09 
关于预处理名字__cplusplus和__STDC__看C++primer上面说这两个名字不会同时被定义的但test了一下

关于预处理名字__cplusplus和__STDC__
看C++   primer上面说这两个名字不会同时被定义的
但test了一下
=======================================================
#include   <iostream>
using   namespace   std;

int  
main()
{
#ifdef   __cplusplus
cout   < <   "it   is   a   cpp   program! " < <endl;
#endif

#ifdef   __STDC__
cout   < <   "it   is   a   standard   c   program! "   < <   endl;
#endif

return   0;
}
======================================================
结果输出
it   is   a   cpp   program!
it   is   a   standard   c   program!
---------------------------
问题出哪里了?谢谢

[解决办法]
我认为他们都被定义了
我在dev C++上测试也是如此
[解决办法]
这一点我也不是很清楚:用g++/vc++/bcbx/icl在命令行下面直接编译然后运行,得到的结果都是输出
This is C++ program !
This is C++ program ! _print
但是在MinGW Studio中得到的却是
This is C++ program !
This is C++ program ! _print
This is C program !
疑心是IDE传给preprocessor的选项问题,不甚清楚。

热点排行