BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

使用VS2015进行C++开发的6个主要原因

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 薛梦迪 关注 0 他的粉丝 发布于 2016年4月30日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

在今天的Build大会上,进行了“将你的C++代码转移至VS2015的6个原因”的演讲,其中探讨了VS2015中对于C++开发者们更有用的新功能。自从它在2015年七月的第一次发布后,VS2015一直在完善,并且比起对它的启动状态而言,它的两个十分成功的更新对项目进行了重大的改进。

这6个转移至VS2015的理由是用倒序来展示的,从“#6 你从第一天就能感受到好处(没有代码的改变)”开始。这也许是最重要的,因为这样的体验仅仅通过使用VS2015而不需要修改任何代码就能感受到。这些好处不仅体现在在编译器上清除并构建项目,还体现在了连接上(这给修改代码-编译-调试的整个周期带来了好处)。

将VS2015与VS2013比较,在执行一个非全程序优化(WPO)编译的纯连接时,VS2015连接器平均提高了两倍速度。由于支持增量连接,在对代码进行新的修改时,VS2015连接器提高了许多倍(多少倍则取决于使用的代码)。这些改进的一部分原因是为静态库和连接器多线程提供了增量连接。

还有很多智能代码优化能显著给你带来好处。例如,优化器可以识别if循环并以二进制输出方式重构。与这有关的是,循环if判断外提技术可以将一个if循环从for循环中提出——这意味着如果那个if语句的判断结果为假,则for循环会被整个跳过。

第五个原因则是VS2015使人们在写C++时能够有更好的工作效率。这些新功能可以通过修改项目属性来设置,如果启用这个功能,则它就能够选出应该被提取到新函数中的代码片段。如果执行它,编辑器则会鼓励你更新有关的头文件来映射你的新函数。这个新的“改变定义位置”的功能可以将特定的函数定义从源文件移到头文件,或者反过来也行。为了支持独立的文件浏览,智能感知支持也有所改进,还添加了一个能提升智能感知查询速度的可选的“新数据库引擎”。

第四个原因是提升了调试支持。在调试有变化的时候,异常设置可以修改为更大的控制权,决定调试器应该怎样对待出现的异常。当安装第一个更新后,在32位和64位代码中编辑并继续又可以使用了(自从VS2010后它消失了)。所有的这些编辑能力上的增强都更符合现代C++标准(第三个使用VS2015的原因)。

让我们回到微软对Linux更加关注的话题,第二个使用VS2015的原因是它对目标系统为Linux应用开发的支持。作为一个VS2015的开发者,你可以在VS2015中写C++代码并将其部署至一个用于编译和调试的Linux虚拟机(本地,网络上,或Azure)。这支持了三种主要的CPU架构(X86/X64/ARM)。

最后一个使用VS2015的原因是微软对其定位是成为移动端应用开发的“唯一选择”。在XCode中创建的iOS项目可以在Visual Studio中打开并编辑,但是依然在XCode中开发。他们对Linux的支持也很相似,一个应用可以在本地编辑并部署到一个配对的Mac上进行编译和调试。现在的主要限制就是,你可以使用VS2015调试C++和Java,但是需要在它们之间切换——而不能同时编译两种。

查看英文原文The 6 Main Reasons to use VS2015 for C++ Development


感谢夏雪对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

这些不是主要的原因吧 by see sai

最主要的原因是对C++14的支持程度.

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT