Microsoft C++ 移植和升级指南

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

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

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

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

另请参阅

Visual Studio 中的 C++
Visual Studio 中的 C++ 编译器新变化
Visual Studio 中的 C++ 符合性改进