写点什么

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

  • 2016 年 4 月 29 日
  • 本文字数:1311 字

    阅读完需:约 4 分钟

在今天的 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 )关注我们。

2016 年 4 月 29 日 19:004222
用户头像

发布了 26 篇内容, 共 60583 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第五周总结

月殇

极客大学架构师训练营

作业

张荣召

架构师训练营第五周作业

xs-geek

week1作业

幸福小子

架构师训练营第五周作业

Shunyi

极客大学架构师训练营

第五周 技术选型(1)学习总结

钟杰

极客大学架构师训练营

第 1 周 架构方法 学习总结

心在那片海

分布式一致性Hash算法

黄立

第一周作业

孤星

架构师训练营第 1 期 -- 第五周学习总结

发酵的死神

极客大学架构师训练营

【架构师训练营第 1 期 05 周】 作业

Bear

极客大学架构师训练营

架构师训练营第 1 期 - 第5周课后练习

Anyou Liu

极客大学架构师训练营

第一周10/25

张冬冬

第一周学习总结

孤星

架构师训练营第二期-第一周作业

john_zhang

架构2期第1周作业及总结

supersky6

架构师训练营第一周作业-周总结

张浩

架构师训练营二期 1周总结

月下独酌

极客大学架构师训练营

架构师训练营第五周作业

CmHuang

第五周 技术选型 作业一

应鹏

极客大学架构师训练营 课程作业

第一周作业

jingx

作业1-食堂就餐卡系统设计

arcyao

【架构师训练营第 1 期】第五周作业

知鱼君

食堂就餐卡系统

Xuenqlve

第 01 周——食堂就餐卡系统设计

Airship

极客大学架构师训练营

第五周作业

架构师训练营第五周学习总结

文智

极客大学架构师训练营

架构师训练营第五周 技术选型缓存、消息队列、一致性 hash

郎哲158

学习 极客大学架构师训练营

第五周总结

hash一致性算法

橘子皮嚼着不脆

架构师训练营第 1 期 - 第 5 周 - 学习总结

wgl

极客大学架构师训练营

使用VS2015进行C++开发的6个主要原因_语言 & 开发_Jeff Martin_InfoQ精选文章