用于检查编译器是gcc / mingw还是VC ++ cl的标志?

时间:2011-04-13 01:06:25

标签: c++ visual-c++ compiler-construction mingw

  

可能重复:
  Detect compiler with #ifdef

问候所有人,

我一直在研究一个在linux上使用gcc并在windows上使用gcc的C ++项目。现在我想在Windows上使用VC ++ cl编译器。 我是保持相同的源代码树只改变编译器特定的逻辑,如:

#ifdef VC_CL_COMPILER
 //do vc++ related
#elif MINGW_FLAG
 //do mingw related
#elseif GCC_FLAG
  //do gc related    
#endif

无论如何提示这样做?

1 个答案:

答案 0 :(得分:10)

编译器通常有一个预定义的宏。

#if defined(__GCC__)
  //do gcc related
#elif defined(_MSC_VER)
  //do msvc related
#else

#endif