使用VS2015进行C++开发的6个主要原因
使用VS2015进行C++开发的6个主要原因 使用Visual Studio 2015进行C++开发
在今天的 Build 大会上,进行了“将你的 C++ 代码转移至 VS2015 的 6 个原因”的演讲,其中探讨了 VS2015 中对于 C++ 开发者们更有用的新功能。自从它在 2015 年七月的第一次发布后,VS2015 一直在完善,并且比起对它的启动状态而言,它的两个十分成功的更新对项目进行了重大的改进。
这 6 个转移至 VS2015的理由是用倒序来展示的,从“#6 你从第一天就能感受到好处(没有代码的改变)”开始。这也许是最重要的,因为这样的体验仅仅通过使用 VS2015 而不需要修改任何代码就能感受到。这些好处不仅体现在在编译器上清除并构建项目,还体现在了连接上(这给修改代码-编译-调试的整个周期带来了好处)。http://hovertree.com/menu/visualstudio/
将 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,但是需要在它们之间切换——而不能同时编译两种。
推荐:http://www.cnblogs.com/roucheng/p/cppjy.html
使用VS2015进行C++开发的6个主要原因的更多相关文章
- vs2015 已经支持开发asp .net core 1.0 rc2 程序了
vs2015 已经支持开发asp .net core 1.0 rc2 程序了 http://mp.weixin.qq.com/s?__biz=MzI0MzM1ODczOQ==&mid=2247 ...
- VS2015配置Andriod开发环境
原文:VS2015配置Andriod开发环境 折腾了好久终于配置OK了,分享给大家! 第一步: http://xamarin.com/download下载XamarinInstaller 第二步: 运 ...
- [转载]使用VS2015搭建Lua开发环境
参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...
- VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 _GetRegistrySysColors@8 中被引用
一.问题描述: VS2015+OpenGL4.0开发编译时弹出如下所示的错误: 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符 ...
- (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境
Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...
- lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,
所以本篇博文介绍在Windows平台下,使用VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程,安装过程如下(参考http://www.byjth.com/lua/33.html) ...
- VS2015配置Linux开发远程调试
# VS2015配置Linux开发远程调试 ### 简介-----------------------------vs2015支持跨平台开发 ### 软件环境--------------------- ...
- atitit.为什么java体系开发效率这样低的原因and解决
atitit.为什么java体系开发效率这样低的原因and解决 #---开发理念问题(影响度:很大的,2-3倍效率) mvc<>webform server control ajax< ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
随机推荐
- Android开发学习—— shape标签的使用
参考这片文章http://www.cnblogs.com/armyfai/p/5912414.html
- java 字节流与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...
- 12个小技巧,让你高效使用Eclipse
集成开发环境(IDE)让应用开发更加容易.它们强调语法,让你知道是否你存在编译错误,在众多的其他事情中允许你单步调试代码.像所有的IDE一 样,Eclipse也有快捷键和小工具,这些会让您感觉轻松许多 ...
- 开始webservice了
一.WebService到底是什么 一言以蔽之:WebService是一种跨编程语言和跨操作系统平台的远程调用技术. 所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用 ...
- 技术笔记:Indy控件发送邮件
工作中有个需求需要发送邮件,因为使用的delphi6,所以自然就选择了indy组件,想想这事挺简单的.实现的过程倒是简单,看着Indy的demo很快就完了,毕竟也不是很复杂的功能. 功能要求: 1.压 ...
- 快速开发Grunt插件----压缩js模板
前言 Grunt是一款前端构建工具,帮助我们自动化搭建前端工程.它可以实现自动对js.css.html文件的合并.压缩等一些列操作.Grunt有很多插件,每一款插件实现某个功能,你可以通过npm命名去 ...
- 关于领域驱动设计(DDD)中聚合设计的一些思考
关于DDD的理论知识总结,可参考这篇文章. DDD社区官网上一篇关于聚合设计的几个原则的简单讨论: 文章地址:http://dddcommunity.org/library/vernon_2011/, ...
- Spring Boot -- Start Up
做Java Web的同学,都知道项目启动需要放到servlet容器里面运行,无论是使用哪一款IDE,都是非常麻烦的一件事情.在很早之前,一个servlet容器下可以放下很多的项目,并一起运行,而到现在 ...
- Azure 上通过 SendGrid 发送邮件
SendGrid 是什么? SendGrid 是架构在云端的电子邮件服务,它能提供基于事务的可靠的电子邮件传递. 并且具有可扩充性和实时分析的能力.常见的用例有: 自动回复用户的邮件 定期发送信息给用 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...