捕获程序内的C ++ 0x标志

时间:2011-07-22 20:17:57

标签: c++ compiler-construction c++11

  

可能重复:
  GNU C++ how to check when -std=c++0x is in effect?

我想做的是:

 #if defined(CPLUSPLUS_OXFLAG)
  //do something
 #else
  //do something else
 #endif

现在我怎样才能将-std = c ++ 0x参数传递给编译器(g ++)到define我的CPLUSPLUS_OXFLAG标志?

3 个答案:

答案 0 :(得分:2)

GCC documentation表示在使用__GXX_EXPERIMENTAL_CXX0X__进行编译时定义了预处理程序符号-std=c++0x

答案 1 :(得分:2)

对于海湾合作委员会来看看:

__ GXX_EXPERIMENTAL_CXX0X __

使用选项-std = c ++ 0x或-std = gnu ++ 0x编译C ++源文件时定义此宏。它表明可能包含在C ++ 0x中的某些功能。请注意,这些功能是实验性的,可能会在GCC的未来版本中更改或删除。

找到参考 here

答案 2 :(得分:1)

GCC在__GXX_EXPERIMENTAL_CXX0X__启用时定义std=c++0x