使用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 ...
随机推荐
- 如何将VCSA添加到微软域控环境,并且实现微软域账号登陆vCenter
v:* { } o:* { } w:* { } .shape { } p.msonormal,li.msonormal,div.msonormal { margin: 0cm; margin-bott ...
- ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑
原文: Testing Controller Logic 作者: Steve Smith 翻译: 姚阿勇(Dr.Yao) 校对: 高嵩(Jack) ASP.NET MVC 应用程序的控制器应当小巧并专 ...
- YII 2.x 模板文件的 beginBlock、beginContent、beginCache
echo '-----------beginBlock--------------------- <br />'; $this->beginBlock('block1', false ...
- 【夯实PHP基础】PHP常用类和函数总结
本文地址 代码提纲: 1. 字符串处理类及函数 2. 数组处理类及函数 3 .web处理类及函数 将常用的PHP的类和函数总结到这里,主要是 自己用过的,比较有感觉. 1. [字符串处理] 1)[ut ...
- excel常用技巧
复制表格时,如果要加上行标和列标.页面布局->工作表选项:标题,勾上打印->复制下拉框->复制为图片加上打印样式 一行长拆成几行短或几行短变成一行长的文本拆分,可以通过:填充-> ...
- XSS 前端防火墙 —— 可疑模块拦截
上一篇介绍的系统,已能预警现实中的大多数 XSS 攻击,但想绕过还是很容易的. 由于是在前端防护,策略配置都能在源代码里找到,因此很快就能试出破解方案.并且攻击者可以屏蔽日志接口,在自己电脑上永不发出 ...
- Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]
1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...
- mono for android学习过程系列教程(3)
服务 接着上一讲的内容,咱们继续来唠叨概念性的东西.服务,内容提供器,广播接收器等理论知识. 首先是服务,它不是一个可视化的组件或者视图.他是由我们开发人员来定义,可以一直一直运行 的工作单元.跟活动 ...
- ASP.NET Core "完整发布,自带运行时" 到jexus
一.阅读前须知 1.使用 jexus整合asp.net core的优点: 1)支持多站点,同一端口可以同时支持任何多的asp.net core应用程序: 2)应用程序启动.停 ...
- 冗余代码都走开——前端模块打包利器 Rollup.js 入门
之前翻译过一篇文章,介绍了通过 ES2015 的解构赋值语法引入模块,可以让打包工具(browserify)最终编译出来的代码量最小化. 殊不知在 webpack 1.X 版本是无法利用该特性来避免引 ...