【VS2026】_MSC_VER 对应各版本 VS 的值
在 C 开发中_MSC_VER宏用于在编译期判断 Microsoft Visual C (MSVC) 编译器的版本。由于微软在不同时期采用了不同的版本号递增规则且从 VS2026 开始版本号体系发生了重大变化以下为您整理了_MSC_VER与 Visual Studio (VS) 版本的完整对应关系1. 经典版本VS 6.0 ~ VS 2015在 VS 2015 及之前的版本中主版本发布时_MSC_VER通常以 100 递增小版本以 10 递增。_MSC_VERVisual Studio 版本内部 VC 版本1200VS 6.0VC 6.01300VS .NET 2002VC 7.01310VS .NET 2003VC 7.11400VS 2005VC 8.01500VS 2008VC 9.01600VS 2010VC 10.01700VS 2012VC 11.01800VS 2013VC 12.01900VS 2015VC 14.02. 现代版本VS 2017 ~ VS 2022从 VS 2017 开始MSVC 工具集版本号固定为v14x_MSC_VER的高两位保持为19低两位随小版本更新递增。_MSC_VER 范围Visual Studio 版本MSVC Toolset[1910, 1916]VS 2017v141[1920, 1929]VS 2019v142[1930, 1949]VS 2022v143(注同一 VS 主版本下的不同更新如 VS2019 16.8 和 16.9可能共享相同的_MSC_VER若需精确区分需使用包含构建号的_MSC_FULL_VER宏)3. 最新版本VS 2026 及以后特别注意从 Visual Studio 2026 开始微软将 MSVC 编译器的版本与 Visual Studio IDE 的版本进行了解耦。MSVC 工具集版本号从14.50开始_MSC_VER从1950开始并大约每六个月发布一个新版本。_MSC_VERMSVC Build Tools 版本对应 Visual Studio195014.50VS 2026 (v18.0)195114.51VS 2026195214.52VS 2026 跨平台代码中的使用建议在编写跨平台 C 代码时建议使用以下宏定义来安全地判断 MSVC 版本#ifdef_MSC_VER#if_MSC_VER1950// VS2026 及以后版本的专属代码#elif_MSC_VER1930// VS2022 专属代码#elif_MSC_VER1920// VS2019 专属代码#endif#endif