如果编译器是MSVC,是否有定义的预处理器定义?

时间:2011-05-01 18:18:36

标签: c++ visual-c++ c-preprocessor

所以我可以做类似

的事情
#ifdef MSVC
//do compiler specific code here
#endif

4 个答案:

答案 0 :(得分:80)

这是_MSC_VER。更多信息at MSDNat predef

但是,请注意,其他一些编译器也可以定义它,例如英特尔的C ++ Compiler for Windows也定义了_MSC_VER。如果这是一个问题,请使用#if _MSC_VER && !__INTEL_COMPILER

答案 1 :(得分:11)

查看MSVC predefined macros列表。你会找到你需要的东西。

_MSC_VER可能是个好人。

答案 2 :(得分:1)

_MSC_VER应该符合您的需求

答案 3 :(得分:1)

_MSC_VER就是这样predefined macro