使用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个主要原因的更多相关文章

  1. vs2015 已经支持开发asp .net core 1.0 rc2 程序了

    vs2015 已经支持开发asp .net core 1.0 rc2 程序了 http://mp.weixin.qq.com/s?__biz=MzI0MzM1ODczOQ==&mid=2247 ...

  2. VS2015配置Andriod开发环境

    原文:VS2015配置Andriod开发环境 折腾了好久终于配置OK了,分享给大家! 第一步: http://xamarin.com/download下载XamarinInstaller 第二步: 运 ...

  3. [转载]使用VS2015搭建Lua开发环境

    参考原文请看: Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一) Lua学习笔记2:Windows7下使用VS2015搭建Lua开发环境(二) 本篇主要分以下几个部分: 一 ...

  4. VS2015+OpenGL4.0开发编译时弹出错误:glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符号在函数 _GetRegistrySysColors@8 中被引用

    一.问题描述: VS2015+OpenGL4.0开发编译时弹出如下所示的错误: 1>glaux.lib(tk.obj) : error LNK2019: 无法解析的外部符号 _sscanf,该符 ...

  5. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

  6. lua----------------使用VS2015搭建lua开发环境的一些侥幸成功经验,

    所以本篇博文介绍在Windows平台下,使用VS2015搭建lua开发环境的一些侥幸成功经验,安装过程参考网上教程,安装过程如下(参考http://www.byjth.com/lua/33.html) ...

  7. VS2015配置Linux开发远程调试

    # VS2015配置Linux开发远程调试 ### 简介-----------------------------vs2015支持跨平台开发 ### 软件环境--------------------- ...

  8. atitit.为什么java体系开发效率这样低的原因and解决

    atitit.为什么java体系开发效率这样低的原因and解决 #---开发理念问题(影响度:很大的,2-3倍效率) mvc<>webform server control ajax< ...

  9. Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App

    安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...

随机推荐

  1. PHP之用户验证和标签推荐的简单使用

    本篇主要是讲解一些最简单的验证知识 效果图 bookmark_fns.php <?php require_once('output_fns.php'); require_once('db_fns ...

  2. 如何将VCSA添加到微软域控环境,并且实现微软域账号登陆vCenter

    v:* { } o:* { } w:* { } .shape { } p.msonormal,li.msonormal,div.msonormal { margin: 0cm; margin-bott ...

  3. 使用SecureCRT连接虚拟机(ubuntu)配置记录

    这种配置方法,可以非常方便的操作虚拟机里的Linux系统,且让VMware在后台运行,因为有时候我直接在虚拟机里操作会稍微卡顿,或者切换速度不理想,使用该方法亲测本机效果确实ok,特此记录. Secu ...

  4. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  5. 简析服务端通过GT导入SHP至PG的方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...

  6. C++ 11 多线程--线程管理

    说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段.并行是指两个或多个独立的操作同时进行.注意这里是同时进行,区别于并发,在一个时间段内执行多个操作.在单核时代,多个线程是并 ...

  7. psoc学习

    第一是:项目的路径需要放在Documents and Settings\,也就是默认的文件夹的地方,不然会报错错误范例为:Question:CY8CKIT-023 kit example projec ...

  8. Java实现FTP文件与文件夹的上传和下载

    Java实现FTP文件与文件夹的上传和下载 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制 ...

  9. XSS 前端防火墙 —— 天衣无缝的防护

    上一篇讲解了钩子程序的攻防实战,并实现了一套对框架页的监控方案,将防护作用到所有子页面. 到目前为止,我们防护的深度已经差不多,但广度还有所欠缺. 例如,我们的属性钩子只考虑了 setAttribut ...

  10. Web前端温故知新-CSS基础

    一.CSS定义与编写CSS 1.1 CSS的定义 全名:Cascading Style Sheets -> 层叠样式表 定义:CSS成为层叠样式表,它主要用于设置HTML页面中的文本内容(字体. ...