为什么转换到Visual Studio 2017如此 “容易”

与VS 2015相比,Visual Studio 2017在C ++功能方面有重大的飞跃。我们希望升级到新版本后能让您的日常工作变得更轻松。


这篇文章主要介绍从Visual Studio 2015升级到2017的步骤。在这个版本中,我们团队使代码库移动到Visual Studio 2017非常容易。这里有四个原因。



通过Visual Studio 2017安装程序获取MSVC 2015.3工具集

在Visual Studio 2017中加载使用较老C++工具集的C++工程,并不会改变C++工程。 这允许你在以前的IDE中加载这个工程,以备你需要使用之前的IDE加载工程,或者你仍然有队友把VS没有完全升级到2017。为了使工程在Visual Studio 2017加载中不受到任何影响,就像在以前的版本中,IDE支持工程往返


在以前的版本中,为了能够构建项目,必须同时安装最新版本和旧版本的Visual Studio。 现在Visual Studio 2017允许您直接安装MSVC 2015(v140)工具集,使其便于引导新机器,通过仅安装所需的工具集而不是整个VS 2015 IDE来减少安装所需的磁盘空间。


MSVC 2017 中的VC运行时与2015二进制兼容

这个版本的Visual Studio中C++编译器和库有很多改进,这将引导您转换到Visual Studio 2017的最新工具集(v141)-  新的标准一致性功能,改进的代码生成功能,更快的构建吞吐量。 然而,您可能担心您的第三方库依赖关系没有准备好这样的跳转。 我们经常听到客户说对于一个新的C++工具集来说这是第一个迁移拦截器(无论它们将依赖性作为二进制文件还是直接作为源)。


但是,使用最新的MSVC工具集,您不需要担心这一点。 这是因为最新的VC运行时与VS 2015的VC运行时二进制兼容。 换句话说,如果你有一个使用v140平台工具集构建的库,现在即使你使用v141 MSVC工具集构建代码,您的二进制文件和使用它的代码也将继续工作。


使用MSVC v141工具集构建的任何二进制文件都将链接到VC运行时的140版本。 VCRedist只是向后兼容,所以你需要使用你的APP在VS 2017中重新发布最新的VCRedist 140。


C:\src\ClockApp\Debug>dumpbin ClockApp.exe /IMPORTS | findstr .dll
mfc140ud.dll
KERNEL32.dll
USER32.dll
GDI32.dll
COMCTL32.dll
OLEAUT32.dll
gdiplus.dll
VCRUNTIME140D.dll
ucrtbased.dll


Vcpkg上的数百个C ++ 库在Visual Studio 2017中可用

如果你还没有听说过VCPkg,不用担心 — 这是一个来自微软的开源项目,以帮助简化在Windows上的开源库的采集和构建。 如果你在一个或多个开源依赖项上使用Visual Studio 2015中的Vcpkg,那么你会很乐意知道这些库(在编写本文时接近180),使用MSVC v141工具集编译,并可以在Visual Studio 2017工程中使用


因为v141与v140是二进制兼容的,所有已经有的包将继续工作,而不需要重新编译; 然而,我们建议重新编译,这样你可以体验我们添加到v141编译器的新的优化!


MSVC编译器版本转换为19.1(从Visual Studio 2015中的19.0)

最后很重要的一点,MSVC v141工具集的编译器部分仅在Visual Studio 2017中作为次要版本进行了改进。请注意,我们将继续朝着C++ 一致性以及代码的生成功能方向进行改进。 在进行这些改进后,您可能需要进行某些更改以使您的代码符合标准。 所有这些更改都记录在docs.microsoft.com 的Visual Studio 2017主题中的C++ 一致性改进。


采取行动

Visual Studio 2017具有许多新功能,还不赶紧去使用。 这就是为什么使项目从Visual Studio 2015转换变得 “太容易”。

原文地址:https://blogs.msdn.microsoft.com/vcblog/2017/03/07/binary-compatibility-and-pain-free-upgrade-why-moving-to-visual-studio-2017-is-almost-too-easy/


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值