Microsoft C++ 移植和升级指南

本文提供将 Microsoft C++ 代码升级到最新版本的 Visual Studio。 对于在 2010 Visual Studio 2017 年创建的项目,只需在 2019 Visual Studio打开该项目。 可以通过两个步骤Visual Studio 2008 或更早版本项目。 使用 Visual Studio 2010 将项目转换为MSBuild格式。 然后,在 2019 Visual Studio中打开项目。 有关完整说明,请参阅从早期版本的 Visual Studio 升级 C++ 项目

2015 Visual Studio 2017 Visual Studio 2019 Visual Studio 工具集与二进制兼容。 现在,可以升级到较新版本的编译器,而无需升级库依赖项。 有关详细信息,请参阅不同版本之间的 C++ Visual Studio兼容性

升级使用开源库或旨在在多个平台上运行的项目时,建议迁移到基于 CMake 的项目。 有关详细信息,请参阅 CMake 项目中Visual Studio

升级 C++ 代码的原因

如果旧版应用程序在安全的环境中运行得非常顺利,并且未进行积极开发,则升级它可能没有太多动机。 但是,在这些情况下请考虑升级:应用程序需要持续维护。 或者,进行新功能开发,或改进性能或安全性。 升级具有以下优势:

  • 相同的代码可以更快地运行,因为我们改进了编译器优化。

  • 现代 C++ 功能和编程做法消除了 bug 的许多常见原因,并生成比旧 C 样式习惯用语更易于维护的代码。

  • 由于编译器和链接器的性能改进,生成时间更快。

  • 更好的标准一致性。 /permissive- 编译器选项可帮助识别不符合当前 C++ 标准的代码。 新的 预处理器也 支持代码一致性。

  • 更好的运行时安全性,包括更安全 的 C 运行时库 功能。 此外,编译器功能(如防护检查和地址 (是 Visual Studio 2019 版本 16.4) 。

多目标与升级

也许无法将基本代码升级到新的工具集。 你仍可以使用最新的Visual Studio生成和编辑使用旧工具集和库的项目。 在 Visual Studio 2019 中,可以利用如下功能:

  • 新式静态分析工具(包括C++ Core Guidelines和 Clang-Tidy)可帮助识别源代码中的潜在问题。

  • 根据你选择的新式样式自动设置格式有助于使旧代码更具可读性。

有关详细信息,请参阅 使用 Visual Studio 中的本机多重目标生成旧项目

本节内容

Title 说明
从早期版本的 C++ 项目升级Visual Studio 如何将基本代码升级到最新版本的 Visual Studio 编译器。
用于升级 C++ 代码的 IDE 工具 有助于升级过程的有用 IDE 功能。
Visual Studio 版本之间的 C++ 二进制兼容性 从 v140 及更高版本项目中使用 v140 及更高版本的库。
使用 Visual Studio 中的本机多目标来生成旧项目 将Visual Studio与较旧的编译器和库一起使用。
Visual C++ 更改历史记录(2003 - 2015) 从 2003 年 3 月到 2015 Visual Studio Microsoft C++ 库和生成工具中可能需要更改代码的所有更改的列表。
Visual C++ 新增功能 (2003 - 2015) 从 2003 年 3 月到 2015 年 1 月Visual Studio Microsoft C++ 的所有Visual Studio信息。
移植和升级:示例和案例研究 本部分中,我们移植和升级了多个示例和应用程序并讨论了体验和结果。 这些文章让你了解移植和升级过程中涉及哪些内容。 在整个过程中,我们讨论了升级所用的提示和技巧,并演示如何修复特定错误。
移植到通用 Windows 平台 包含有关将应用代码移植到 Windows 10 及更高版本的信息
Visual C++ 简介(针对 UNIX 用户) 为不熟悉 Visual C++ 并想要有效率的使用它的 UNIX 用户提供信息。
在 Windows 上运行 Linux 程序 讨论用于将 UNIX 应用程序迁移到 Windows 的选项。

另请参阅

Visual Studio 中的 C++
Visual Studio 中 C++ 编译器的新增功能
Visual Studio 中的 C++ 符合性改进