MSVC 生成工具的新增功能
发布时间:2026-10-06 | 浏览:1
访问此页面需要授权。 可以尝试 登录 或 更改目录 。
访问此页面需要授权。 可以尝试 更改目录 。
版本 14.51 为 Microsoft C++ 编译器和其他生成工具带来了许多更新和修补程序。
有关所有 Visual Studio 中的新增功能的详细信息,请参阅 Visual Studio 2026 发行说明 。
MSVC 生成工具版本 14.51 的新增功能
2026 年 5 月发布的 Visual Studio 2026 版本 18.6 中引入。
Visual Studio 2026 版本 18.6 随附了适用于 MSBuild C++ 项目的 v145 平台工具集和 Microsoft C++ (MSVC) 生成工具版本 14.51。 若要访问所有新的语言特性,请通过 /std:c++latest 进行构建。 或者,如果要将功能限制在最多 C++23,请使用 /std:c++23preview 。
MSVC 生成工具版本 14.51 保留了与 Visual Studio 2015 或更高版本中随附的 MSVC 工具生成的代码的二进制兼容性。 有关二进制兼容性的详细信息,请参阅 Visual Studio 版本之间的 C++ 二进制兼容性 。
下面是 MSVC 生成工具版本 14.51 中的一些新功能的快速亮点:
更多 C++23 和 C++20 功能和一致性问题修复。 有关完整的 C ++23 详细信息,请参阅 MSVC 生成工具 14.51 中的 C++23 支持 。
对 consteval 函数处理的多个修复,包括对模块中的 constexpr new / delete 的支持。 现在默认启用该 /experimental:constevalVfuncVtable 行为。
添加了对 C 语言功能的支持: _Atomic 限定符和 __typeof__ 函数类型。
修复了 C99 灵活数组成员的错误诊断。
MSVC 现在根据 IFC 规范 的版本 0.44 生成 IFC 文件。
添加了 _Atomic 限定符支持,并添加了 __typeof__ 对函数类型的支持。 修复了编译 C 代码时未生成 C4319 。
添加了新的 C++23 标头: <flat_map> ( P0429R9 )和 <flat_set> ( P1222R4 )。
大规模 <regex> 改革: 修复了长期的正确性和性能问题。 实现包括显著的性能改进。
ARM64 NEON 矢量化: 首次发布 ARM64/ARM64EC的 NEON 矢量化 STL 算法。 以前,只有 x64/x86 收到 SSE4.2 和 AVX2 的 SIMD 优化。 矢量化实现现在可用于算法,包括 swap_ranges() 、 rotate() 、、 reverse() min_element() 、 max_element() 、 find() 、 count() 等。
实现了 18 个库工作组(LWG)问题解决方法,包括持续时间转换溢出、 construct_at 数组支持和 optional 常量重载的修复。
通过按两位一组输出数字,优化了整数到字符串的转换。 标准模板库现在针对速度而不是大小进行优化。
添加了用于检测绑定到临时对象的引用的类型特征( P2255R2 )。
添加了显式生存期管理支持( P2590R2 )。
增强的调试器可视化,包括用于 c_str() 的 basic_string 内部函数,从而支持条件断点。
Arm SVE 支持: MSVC 中的第一个 Arm 可缩放矢量扩展(SVE)支持,包括前端类型支持、内部降低、调用方保存的寄存器展开和 DIA SDK 支持。
基于示例的 PGO: 预览对基于示例的配置文件引导式优化的支持。 有关详细信息,请参阅 使用示例配置文件引导式优化(SPGO)来提高 C++ 性能 。
C++ 后端优化器可改进代码生成,包括更好的内联、循环优化和模式匹配。
对 x64 展开版本 3 MASM 指令的实验性支持 。 有关更多信息,请参阅 Unwind 第 3 版指令(实验性)
Intel APX 预览版: 预览版对 Intel 高级性能扩展的支持。 有关详细信息,请参阅 /feature (x64) 和 [[msvc::enable(feature:APX)]] [[msvc::disable(feature:APX)]] 。
已启用调试信息修剪以减少 PDB 大小。
以下实验性协程头文件现已弃用: <experimental/coroutine> 、 <experimental/generator> 和 <experimental/resumable> 。 使用 <coroutine> 头文件迁移到标准 C++20 协程。
已删除以下已弃用的非标准功能:
TR1 包括 std::tr1 命名空间、旧 array::assign() 引擎和旧 <random> 引擎和分发版。 自 VS 2017 15.5(2017 年 12 月)以来已弃用。
_ALLOW_RTCc_IN_STL 已删除宏。 标准模板库不支持 /RTCc 编译器选项,但仍 /RTCs /RTCu / /RTC1 受支持。
<hash_map> 和 <hash_set> . 自 VS 2015(2015 年 7 月)以来已弃用。
<experimental/filesystem> 。 自 VS 2019 16.3(2019 年 9 月)以来已弃用。
stdext::checked_array_iterator 和 stdext::unchecked_array_iterator . 对于 C++17 及更高版本,自 VS 2022 17.8(2023 年 11 月)起已弃用。
basic_istream::ipfx() / isfx() 和 basic_ostream::opfx() / osfx() . 自 VS 2022 17.9(2024 年 2 月)起,对于 C++17 及更高版本已弃用。
locale::empty() 。 自 VS 2022 17.14(2025 年 5 月)以来已弃用。
MSVC 生成工具版本 14.50 的新增功能
2025 年 11 月发布的 Visual Studio 2026 版本 18.0 中引入。
Visual Studio 2026 版本 18.0 随附了适用于 MSBuild C++ 项目的 v145 平台工具集,Microsoft C++ (MSVC) 生成工具版本 14.50,该版本提供了最佳的一致性、生成性能和运行时性能故事。 若要访问所有新的语言特性,请通过 /std:c++latest 进行构建。 或者,如果要将功能限制在最多 C++23,请使用 /std:c++23preview 。
MSVC 生成工具版本 14.50 保留了与 Visual Studio 2015 或更高版本中随附的 MSVC 工具生成的代码的二进制兼容性。 有关二进制兼容性的详细信息,请参阅 Visual Studio 版本之间的 C++ 二进制兼容性 。
下面是 MSVC 生成工具版本 14.50 和 Visual Studio 2026 版本 18.0 中的一些新功能的快速突出显示:
C++20 是新的控制台应用、Windows 桌面应用程序、Dynamic-Link 库和静态库C++项目的默认值。
C++23 预处理指令 #warning 允许生成诊断消息,而无需像那样 #error 停止翻译。 有关详细信息,请参阅 #warning 指令 。
使用工具栏 .vcxproj 轻松为任何 C++ 项目的 CMake 和 Unreal Engine 项目设置调试器命令行参数。 此功能不再与具有C++工作负载的游戏开发相关联,并且可供所有C++开发人员使用,而无需安装任何其他工作负载或组件。 有关详细信息,请参阅 传递命令行参数 。
提高 <regex> 可靠性和速度。 LWG-2503 为 syntax_option_type 添加了多行选项。 这是行为上的 regex 变化。 默认情况下, _REGEX_LEGACY_MULTILINE_MODE 为 0,请求标准行为。 设置 _REGEX_LEGACY_MULTILINE_MODE 为 1 以请求旧版行为。 有关详细信息,请参阅 STL Changelog 。
添加了和改进了许多类型和函数的矢量化实现。
GitHub Copilot 功能增强
Copilot 对话助手 允许你使用自然语言获取问题的答案(询问模式),甚至自动实现更改(代理模式)。
Copilot 对话助手 更智能,改进了日常任务的上下文。 在搜索代码库以及引用代码中特定行时,您可以期望获得更好的结果。
已将 Copilot Actions 选项添加到 Visual Studio 编辑器中右键单击上下文菜单。 使用它可以快速引入你选择的特定文件或代码行来引起 Copilot 对话助手 的关注。 然后,可以要求 Copilot 解释代码的作用、进行优化、生成注释、生成单元测试等。
为 C++ 提供更好的 AI 代码补全。 GitHub Copilot 利用相关文件中的上下文信息来提升 C++ 的自动补全功能。 GitHub Copilot包括其他相关文件作为上下文,这会减少幻觉,同时提供更相关和准确的建议。
有关详细信息,请参阅 面向C++开发人员的新 GitHub Copilot 功能:升级 MSVC、提高生成性能和重构C++代码 。
默认情况下,Visual Studio 2026 包含 CMake 4.1.1。 CMake 还包括 Visual Studio 2026 生成器并支持新式 SLNX 项目,因此可以直接从 CMake 生成 Visual Studio C++项目。
包括 IncrediBuild 引擎的最新版本和适用于 Visual Studio 2026 版本 18.0 的更新扩展。
编译器后端运行时性能改进。 与 Visual Studio 版本 17.14 相比,Unreal Engine 的城市示例 RenderThread 最多有 6 个% 改进,在 Unreal Engine 的城市示例 GameThread 基准测试中最多有 3 个% 改进。 有关详细信息,请参阅 为何应升级C++生成工具 。
Visual Studio 设置助手可帮助你将项目重定向到使用最新的 MSVC 生成工具进行生成。 有关详细信息,请参阅 使用设置助手重定项目目标 。
Clang-Tidy 代码分析改进为更快的生成和自定义工作流提供了增强的配置选项: 代码分析具有新的配置选项。 现在,你可以分配更多处理器在生成过程中运行代码分析,加快开发工作流。 可以将自定义参数添加到用于调用 clang-tidy 的命令行,从而完全控制分析设置。 从 项目属性 > 代码分析 > Clang-Tidy 访问新选项:
代码分析具有新的配置选项。 现在,你可以分配更多处理器在生成过程中运行代码分析,加快开发工作流。
可以将自定义参数添加到用于调用 clang-tidy 的命令行,从而完全控制分析设置。
从 项目属性 > 代码分析 > Clang-Tidy 访问新选项:
ARM64 构建的 AddressSanitizer 支持(预览版):此前一段时间以来,MSVC 生成工具已支持为面向 x64 和 x86 的项目启用 AddressSanitizer 进行构建,这使你能够在运行时以零误报的方式识别难以发现的内存安全问题,并提高内存安全性。 现在可以使用 AddressSanitizer 来面向 ARM64。 此功能处于预览状态。
为C++文件生成预处理的输出。 在 Visual Studio 中,右键单击C++文件以立即生成其预处理的输出,使其易于调试宏和包含,并立即看到错误:
Visual Studio 调试器现在显示内联函数的返回值。 这样就可以实时查看函数行为,而无需单步执行代码或设置监视,从而更快地捕获逻辑问题或意外结果:
在 Visual Studio 安装程序中, C++ Linux 工作负载重命名为 Linux、Mac,并使用C++嵌入开发 。
MSVC 生成工具版本 14.50 支持的最低目标作系统是 Windows 10 或 Windows Server 2016。
MSVC 生成工具版本 14.50 支持的最低目标作系统是 Windows 10 或 Windows Server 2016。
MSVC 生成工具版本 14.50 不再面向: Windows 7/ Windows Server 2008 R2 Windows 8/Windows Server 2012 Windows 8.1/Windows Server 2012 R2 这些更改允许更好的性能、增强的安全性以及与最新的 Windows 平台功能保持一致。
MSVC 生成工具版本 14.50 不再面向:
Windows 7/ Windows Server 2008 R2
Windows 8/Windows Server 2012
Windows 8.1/Windows Server 2012 R2
这些更改允许更好的性能、增强的安全性以及与最新的 Windows 平台功能保持一致。
MSVC 编译器开关 /await 已弃用,将在将来的版本中删除。 此开关启用了使用头文件 <experimental/coroutine> 的C++协程的早期草案实现。 开发人员应使用 C++20 及更高版本中提供的 <coroutine> 头文件,以过渡到标准C++协程。 对于 C++14/17 项目,请使用 /await:strict (未弃用)访问标准 <coroutine> 标头,而无需启用其他C++20 功能。
不再支持使用适用于 iOS 和 Android 的 C++ 工作负载以及嵌入式和 IoT 工具(RTOS 查看器、串行监视器、外围查看器和 ST 项目导入)进行移动开发,将来的更新中将被删除。 移动开发使用 C++ 工作负载中包含的 Android NDK 仍然受到支持。 这会影响对 iOS 和 Android 开发的工具支持,包括新项目、生成和调试。
ARM32 工具链:如果仍然需要为 ARM32 生成,请使用旧版 MSVC 生成工具。 有关详细信息,请参阅 Visual Studio 2019 中的并排次要版本 MSVC 工具集 。
/DEBUG:FASTLINK 链接器开关。 使用 /DEBUG:FULL 以提高调试支持。
我们希望听到您的意见! 可使用安装程序或 Visual Studio IDE 右上角的“发送反馈”图标,或者通过 帮助 >来 报告问题或提出功能建议 。 您可以使用 Visual Studio 开发者社区 跟踪您的问题,在那里您可以添加评论或找到解决方案。 此外,还可通过 实时聊天支持 获得免费安装帮助。
利用 Microsoft 开发人员博客 中提供的见解和建议,随时了解所有新版本。 这些博客包括对各种功能的深度探讨。
C++ 团队博客 和 Visual Studio 博客 尤其令人感兴趣。
想要尝试使用 Ask Learn 阐明或指导你完成本主题?
上次更新时间为 2026-05-15