是否有一个(特定于Microsoft的)CPP宏来确定我在Visual Studio 2010中使用VC9编译器而不是Visual Studio 2008? _MSC_VER
返回编译器版本,因此使用VS2010多目标功能,我将获得与VS2008相同的结果。
想要了解差异的原因是我创建了一个新的VS2010项目,其中包含从较大项目中删除的代码。我只是“按原样”离开了VS2008的东西,因为我们“很快就会离开VS2008”而且我不想经历创建 vcproj 文件和新的<的麻烦强> vcxproj
现在,我刚刚定义了自己的宏来指示代码是否被编译到自己的DLL中;它工作得很好,但如果有更优雅的东西会很好。
答案 0 :(得分:1)
_MSC_VER
返回编译器版本
听起来这就是你真正想要的东西(或者我误解了吗?)。
如果正在使用VS2008的编译器(混淆地也称为VC9或cl.exe 15.0),那么_MSC_VER
将返回一个大于或等于1500的值。如果来自VS2010的编译器是使用(也称为VC10或cl.exe 16.0),然后_MSV_VER
将评估为1600。
答案 1 :(得分:0)
似乎没有解决方案,即使它不像我想的那样优雅,也可以使用自定义宏。