怎么用c++判断vs平台工具集在vs2010之上不包括vs2010
时间: 2023-09-12 22:05:15 浏览: 86
可以使用预定义宏 `_MSC_VER` 和 `_MSC_FULL_VER` 判断编译器版本和平台工具集版本。其中 `_MSC_VER` 是 Visual Studio 的版本号,而 `_MSC_FULL_VER` 则是完整的版本号,包括了平台工具集版本号。
VS2010 对应的 `_MSC_VER` 值是 1600,而 `_MSC_FULL_VER` 值是 160040219。因此可以使用如下代码来判断是否在 VS2010 之后的版本,但不包括 VS2010:
```cpp
#if defined(_MSC_VER) && defined(_MSC_FULL_VER) && _MSC_VER > 1600 && _MSC_FULL_VER < 160040219
// 编译器版本在 VS2010 之后,但不包括 VS2010
#endif
```
注意,这里使用了 `_MSC_FULL_VER` 来限制平台工具集版本不能是 2010 版本。
相关问题
怎么用c++判断vs平台工具集在v100以上,不包括vs2010
可以使用预定义宏 `_MSC_VER` 判断编译器版本, `_MSC_VER` 的值是 Visual Studio 的版本号。V100 是 VS2010 的平台工具集版本号,因此可以使用 `_MSC_VER` 的值来判断是否在 V100 之后的版本。
具体来说,V100 对应的 `_MSC_VER` 值是 1600,因此可以使用如下代码来判断:
```cpp
#if defined(_MSC_VER) && _MSC_VER > 1600 && _MSC_VER < 1700
// 编译器版本在 V100 之后,但不是 VS2010
#endif
```
注意,这里使用了 `&& _MSC_VER < 1700` 来限制编译器版本不能是 VS2012 及以上的版本。
怎么用c++判断vs平台工具集在v100以上
可以通过检查预定义的宏 `_MSC_VER` 和 `_MSC_FULL_VER` 来判断 Visual Studio 平台工具集的版本。具体地说,可以使用以下代码:
```c++
#if defined(_MSC_VER) && defined(_MSC_FULL_VER)
#if _MSC_VER >= 1600 && _MSC_FULL_VER >= 160040219
// Visual Studio 2010 或以上版本
#else
// Visual Studio 2010 以下版本
#endif
#endif
```
其中,`_MSC_VER` 表示 Visual Studio 的主版本号,例如 1600 表示 Visual Studio 2010,1700 表示 Visual Studio 2012;`_MSC_FULL_VER` 表示 Visual Studio 的完整版本号,例如 160040219 表示 Visual Studio 2010 SP1 的版本号。因此,如果 `_MSC_VER` 大于等于 1600,且 `_MSC_FULL_VER` 大于等于 160040219,就可以判断当前使用的是 Visual Studio 2010 或以上版本的平台工具集。