区分VC ++ 2010和更高版本的编译器版本

时间:2014-01-09 11:07:37

标签: c++ visual-studio-2010 macros

#ifdef ???
    // code for VC++ 2010 compiler
#else
    // code for later compiler versions
#endif

我可以使用哪种宏代替????我不关心旧的编译器版本。

2 个答案:

答案 0 :(得分:3)

对于VS2010或更高版本:

#if _MSC_VER >= 1600

由于VS2010附带的C / C ++编译器是版本16.00.x(由cl.exe在命令行中显示)。

请参阅http://msdn.microsoft.com/en-us/library/b0084kay%28v=vs.100%29.aspx

对于某些完整性的衡量标准:

Visual Studio   _MSC_VER
   version        value
=============  ===========
      6             1200

   2002             1300
   2003             1310
   2005             1400

   2008             1500
   2010             1600
   2012             1700

   2013             1800

答案 1 :(得分:2)

#if (_MSC_VER == 1600)
   //Visual C++ 2010 compiler code here...

应该做你想做的事。从这里开始:How to Detect if I'm Compiling Code With Visual Studio 2008?