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

在今年的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,但是需要在它们之间切换——而不能同时编译两种。

原文地址:http://www.infoq.com/cn/news/2016/04/VS2015-CPP


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329518.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle入门(八)之权限

定义:控制用户在数据库中所能进行的操作权限 分类:系统权限和对象权限 一、系统权限 系统权限(system Privilege):允许执行一组特定的命令CREATE SESSION 创建会话CREATE/DROP USER 创建用户CREATE/DROP VIEW 创建视图CREATE/DROP SEQUENCE 创…

window批处理命令启动nginx

【README】 本文阐述了编写window批处理命令启动,停止nginx; 【1】启动nginx 文件: nginx-start.bat d: cd d:\temp\nginx nginx -s stop taskkill /im nginx.exe /f ping 127.0.0.1 -n 3 -w 1000 > nul start nginx pause 补充&#…

arm芯片厂家排名_国产芯片目前至少有10种,其中有3种,达到了世界顶尖水平

说起来,中国芯的发展史称得上是一部磨难史,因为技术、设备、人才等都被西方国家封锁,就是为了让中国这个大市场巨额进口芯片。但这些年,中国的企业也没有闲着,可以说把世界上的主流的芯片架构尝试了个遍,就…

Oracle入门(十)之概要文件

一、概要文件作用 (1)功能控制用户对系统和数据库资源的使用,保证系统正常运行,防止用户消耗大量资源造成的系统性能下降。 (2)方法设置预定义资源参数。这些参数包含在概要文件中,如果没有为用…

ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”

在Linux上运行ASP.NET网站或webapi的传统步骤一般是先安装libgdiplus,再安装mono,然后安装Jexus。在这个步骤中,安装Jexus非常简单,而安装mono就相对的比较费时费力了。 为了克服务安装Mono这个过程的繁琐,方便大家把A…

5.cpu管理的直观想法

【README】 本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 本文主要介绍了操作系统管理cpu的大致内容; 【1】操作系统管理硬件 1) 多进程管理视图: cpu 管理,内…

python基础教程zip密码_python基础教程Python实现加密的RAR文件解压的方法(密码已知)...

博主之前在网上找了很多资料,发现rarfile库不能直接调用,需要安装unrar模块,下面将详细介绍整个实现流程。第一步:安装unrar模块,直接pip install unrar可能会找不到库,需要下载unrar library,也就是UnRAR.…

Oracle入门(九)之用户、角色与权限之间关系

转载自 Oracle 用户,角色,权限等权限管理是 Oracle 系统的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限。Oracle 的权限分为系统权限和数据对象权限,共一百多种,如果单…

Windows原生运行Linux的技术细节

Microsoft最近宣布了将Linux Bash与Windows 10进行集成的意图,通过这种集成,Windows 10用户将能在操作系统中原生运行Linux ELF64二进制程序。为避免对该技术的实现方法产生错误的猜测,Windows Subsystem for Linux团队主管Deepu Thomas详细介…

6.操作系统多进程图像

【README】 本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 多进程图像定义:多个进程使用cpu的图像; 多进程图像是操作系统的核心图像; 【1】概述 1) PCB&#xf…

骞云科技 python_骞云科技SmartCMP6.0版本正式发布!

骞云科技作为业内领先的云管理平台及服务提供商,秉持着强力助推企业客户全面提升IT管理水平的理念。历时106天的精细打磨,涵盖110个新功能用户故事,倾注上百位研发、产品、测试小伙伴的心血投入,累计完成4343次代码提交&#xff0…

Oracle入门(五E)之讲解show parameter命令模糊查询

转载自 讲解Oracle show parameter命令的小技巧Oracle参数查询命令show parameter的一个小技巧,可以使用模糊查询,比如我想查询包含db_的参数,那么我就可以用: SQL> show parameter db_; NAME TYPE VALUE --------------------…

.NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践

晚上浏览博客园 看到一篇非常实用的博客:.NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper,花了10分钟简单了解了一下。 看评论也是挺有价值,同时也看到许多新手同学问道在实际项目中使用的情况。 下面就原作者的代码的基础上略作调整…

myeclipse窗口布局控件任意_木辛老师的编程课堂:Python和Qt第2讲之布局管理初探(三)...

在主窗口中放置多个控件,最好的方法是使用布局。控件的布局是学习PyQt路上比较关键也也是比较难理解的部分,赶快跟着木辛老师一起去看看吧。请点击右上角“关注”按钮关注我们哟:跟着木辛老师学习Python编程知识,变身快乐的编程达…

7.用户级线程

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.本文会介绍进程与线程的区别,线程切换,用户态线程,内核级线程等; 【1】多进程回顾 问题&#xff1a…

Oracle入门(五D)之如何设置show parameter显示隐含参数

转载自 oracle如何设置show parameter显示隐含参数在sqlplus中show parameter是显示不了隐藏参数的,需要做一个处理,如下所示: 以SYS用户登录: C:\Documents and Settings\guogang>sqlplus / as sysdba; SQL> create or r…

使用VS Code 从零开始开发并调试.NET Core 应用程序

使用VS Code 从零开始开发并调试.NET Core 应用程序,C#调试。上一篇 使用VS Code开发 调试.NET Core 应用程序 得到了大家的支持。 现在为大家带来从零开始教程,让你更好的了解.NET Core 应用程序。使用VS Code 开发C# 程序 并调试程序。 并且也会解决上…

8.内核级线程(核心级线程)

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》,内容非常棒,墙裂推荐; 2.为什么要讲线程呢。实际要讲进程的切换;进程的切换包括切换指令,切换资源;切换指令就是切换线程(简…

Oracle入门(五F)之11g show spparameter 命令的使用

转载自 oracle 11g show spparameter 命令的使用 当我们要获取oracle数据库当前的参数值时,可以通过查询v$parameter动态性能视图得到,当然了也可以使用show parameter p_name这样的方式得到。但是在Oracle11g以前,show parameter只能获得当前…

跨平台与云端创新,为企业和开发者开辟更广阔的未来

从制造业到零售业,从市场营销到客户关系,数字化转型正在给各行各业带来巨大的变革和冲击。面对云计算、大数据、社交和移动计算,企业需要更主动地加速自身业务模式的转变,而开发者和开发团队将在这一转变过程中发挥至关重要的作用…