`
tubaluer
  • 浏览: 1500018 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

Visual Studio 11开发指南(8)Visual C++ 11新特色

 
阅读更多

Metro界面的开发模板

新增了驱动开发支持

改进的C++ 11标准的支持

-------------------------------------------------- ------------------------------

标准模板库

作为在Visual Studio 11开发人员预览版的C + 11规范的支持的一部分,标准模板库(STL)支持在Visual Studio扩展,以提供额外的编程结构,规范要求。亮点包括以下内容:

支持新头文件<atomic>,<chrono>,<condition_variable>,<filesystem>,<future>,<mutex>,<ratio>,并<thread>。

为了优化存储资源的使用,所有容器都较小,字节都缩减了


其他C ++ 11增强

升级的迭代器:由于在C + 11标准,升级的迭代器所允许的,

无限制的lambda表达式,这是代码的开头,一个空的λ指针[]和捕捉没有局部变量,现在隐式转换为函数指针由C + 11标准的要求。

作用域枚举支持。在C + +枚举类枚举键是现在支持。

VISUAL C + +编译器和链接

-------------------------------------------------- ------------------------------
自动矢量器。最大的潜在的性能收益之一是并行而不是按顺序做的事情。的Visual Studio 11开发人员预览版提供任务级别的并行性,而且在循环水平,自动。 C + +的编译器会自动向量化循环,如果可能的话。矢量重组一个循环,例如,求和循环,使CPU可以同时执行多个迭代。通过使用自动矢量化,可循环快8倍的支持SIMD指令的CPU上执行时。例如,大多数现代处理器支持SSE2指令集,它允许编译器指示处理器,4个数字,在时间上做数学运算。

因为编译器可以识别可向量化的循环,当您编译您的代码,这会自动发生。

自动parallelizer。的Visual Studio 11开发人员预览版改进的方式,你可以利用多处理器和多核硬件的优势。随着自动parallelizer,一个循环是重组,因此,它可以在同一时间执行多个线程。这意味着你的应用程序可以利用多核处理器和多处理器的优势,分发大块的工作到所有可用的处理器。 parallelizer自动重组循环和执行多个任务,而不需要任何新的代码添加到您的应用程序。你可以告诉编译器的循环使用#pragma并行指令并行。

自动向量化和自动并行化之间有一些关键的差别。首先,自动矢量化总是和无需用户交互,而自动并行化要求程序员决定将并行的循环。此外,矢量提高单核CPU,支持SIMD指令循环的性能,同时并行提高了多CPU和多核CPU的循环性能。这两种功能可以一起工作,使一个矢量的循环,然后跨多个处理器并行。


C + +加速大规模并行处理(AMP)的支持。 C + +的AMP加速你的C + +代码的执行,通常是作为GPU独立显卡的数据并行硬件的优势。在C + + AMP的编程模型,包括多维数组,索引,内存传输,瓦片,和数学函数库。 C + +的AMP语言扩展和编译器的限制,使您能够控制数据是如何从CPU转移到GPU和背部。


Visual C + +库改进

-------------------------------------------------- ------------------------------
并行程序设计的改进

硬件移动多核心和多核心的架构,开发人员可以不再依赖不断增加,单核的时钟速度,以提高应用程序的性能。在C + +并发命名空间的并行编程支持使开发人员能够利用这些新架构的优势。

在Visual Studio 2010中,我们看到引进强大的C + +并行库,如并行模式库。我们还推出了概念来表达复杂的数据流管道的并发优势。在Visual Studio 11开发人员预览版,这些库已经扩展提供了更好的性能,更多的控制,和更丰富的并行模式,开发人员需要最为重要的支持。现在提供的广度,包括:
并行模式库,它支持的fork - join并行(parallel_for,parallel_for,parallel_for_each,parallel_sort,parallel_reduce,parallel_transform)。
一个丰富的基于任务的编程模型,支持异步和延续。


代理和消息,这让开发人员表达数据流管道,自然分解成并发单位。


并发安全的容器包装,它提供了线程安全版本的std::priority_queue等等。


IDE改进

-------------------------------------------------- ------------------------------
在Visual C + +中的Visual Studio 11开发人员预览版,集成开发环境(IDE)工具显著的改进,以帮助您更高效的编码在C + +。如需更多有关其他IDE增强信息,请参阅为Visual Studio 11开发人员预览版产品亮点。

Visual Studio模板支持。您可以现在作者C + +项目和项模板使用Visual Studio模板技术。这是以前并不支持的C + +。


C + + / CLI中的IntelliSense。的C + + / CLI现在拥有完整的intellisense支持。为C + + / CLI的所有IntelliSense功能,如快速信息,参数的帮助,成员名单,并自动完成现在的工作。此外,在这个主题中列出的新的IntelliSense和IDE增强也为C + + / CLI。


C + +的代码段。骨架代码,是提供基本的代码结构,如开关,的if - else,for循环,等等,在下拉列表成员。从列表中选择一个代码片段插入到你的代码,然后填写所需的逻辑。还可以创建自己的自定义代码片段在编辑器中使用。

列表成员增强。下拉列表成员会自动出现在键入到代码编辑器的代码。结果被过滤,使有关成员显示输入。使用文本编辑器下的“选项”对话框的成员名单,您可以控制​​过滤逻辑的类型。

语义着色。额外的C + +标识,如类型,枚举和宏,等等,现在都着色。默认情况下,启用着色。参数显示为斜体。在选项对话框中,可以指定额外的标识colorizations环境下,字体和颜色。
参考突出。您的指针上放置一个符号现在强调在当前文件中的符号的所有实例。按Ctrl + Shift +向上键或Ctrl + Shift +向下键之间移动突出引用。可以关闭此功能,在选项对话框下文本编辑器,C / C + +高级选项中。

代码质量工具

-------------------------------------------------- ------------------------------

并行调试

除了并行任务“窗口和并行堆栈”窗口,在Visual Studio 2010时,Visual Studio 11开发人员预览版提供了一个新的并行Watch窗口,让你观察到所有线程和进程的一个表达式的值,对结果进行排序和过滤,并延长与你自己的可视化的窗口。您还可以采取新的多进程支持所有工具窗口的优势。

C + +的加速大规模并行处理(AMP)的调试和分析调试。对于使用的应用程序的C + + AMP目标的GPU,提供熟悉的CPU Visual Studio调试经验。这包括前面提到的增加新的并行调试。调试C + + AMP的应用程序,就像调试任何C + +程序。

分析。现在有分析支持,为GPU的活动,支持C + +的AMP和其他基于Direct3D的编程模型。

静态代码分析


静态分析的C + +已更新,以提供更丰富的错误的上下文信息,更多的分析规则和更好的分析结果,在新的代码分析窗口。在此窗口中,现在可以过滤关键字,项目和严重性的消息。选择窗口中的消息,突出了在源代码编辑器的消息是触发线。对于某些C + +的警告,该消息将列出源代码行,以显示执行路径,导致警告。
其他代码分析增强包括以下内容:
新的并发警告,以帮助您确保在多线程C / C + +程序的正确锁定学科。分析仪检测到多个并发错误。这些措施包括潜在的竞争条件下,锁定顺序倒置,主叫/被叫锁定违反合同,不匹配的同步操作。
可以指定的C + +的分析规则要适用于代码分析通过创建或使用的规则集运行。
在“代码分析”窗口,您可以插入的源代码,它可以抑制选定警告的用法。

更新的单元测试框架
使用新的C + +单元测试在Visual Studio中编写C + +单元测试框架。添加一个新的单元测试项目,以现有的C + +通过定位解决方案的C + +单元测试下的视觉项目模板的C + +类在新建项目对话框。开始写你的单元测试中生成的TEST_METHOD在Unittest1.cpp文件中的代码存根。一旦测试代码的编写,可以自动发现测试如下:生成解决方案,然后按一下打开一个单元测试的浏览器窗口查看其他Windows ->单元测试浏览器。右键单击资源管理器单元测试的测试案例的运行测试,并选择“运行选定的测试。然后,您可以查看测试结果,在试运行结束后的同一窗口和额外的堆栈跟踪信息。

体系结构依赖图
为了更好地理解代码,现在可以生成二进制,类,命名空间的依赖关系图,包括在文件中的C + +解决方案或项目。打开菜单架构>生成依赖图 - >生成项目或解决方案为您的整体解决方案或选定项目的依赖关系图。图生成完成后,您可以探索通过扩大每个节点图,了解移动节点之间的依赖关系,并通过右击节点并选择观看内容“浏览源代码。要生成依赖图,包括文件,右键单击*. cpp源代码文件或*. h头文件,并选择“生成包含文件的图形。

层图
使用层图来验证架构设计实现代码在C + +编写的。通过选择菜单“建筑 - >新图>层图”创建一个新的层图。开始从“工具箱”窗口拖放的形状,然后链接项目,或拖放到图中的现有项目,从解决方案资源管理器直接绘图架构。架构图完成后,右键单击图表并选择验证架构对代码运行验证。结果在“错误列表”窗口(从视图菜单中打开)。还可以生成一个图上单击右键并选择“生成依赖关系的依赖。然后,可以可视化层图上的实际代码依赖。

架构资源管理器
架构资源管理器,可以检索的C + +解决方案,项目或文件。查找菜单架构的架构资源管理器 - >窗口 - >项目资源管理器。点击相关节点,例如,类视图。然后将扩大与所有的命名空间列表右侧的工具窗口。继续选择一个命名空间,并创建一个新列将在右侧显示这个命名空间中的类,结构和枚举列表。继续探索通过选择节点的项目,或回到最左边的列重新启动查询。

代码覆盖率
码覆盖率已更新动态仪器的二进制文件,在运行时,它给你较低的配置开销和提供更好的性能。还可以在Visual Studio中的C + +应用程序的单元测试的代码覆盖率数据收集。一旦创建的C + +单元测试,可以使用单元测试浏览器自动发现您的解决方案中的测试。在单元测试浏览器,选择分析代码覆盖率,这将运行单元测试,并收集这些测试的代码覆盖率数据。查看代码覆盖率结果“窗口(测试> - >”代码覆盖率结果)的代码覆盖率结果。

分享到:
评论

相关推荐

    Visual Studio 2008 开发指南

    Visual Studio 2008开发指南,英文版资料,目前还没有中文版哦!不过值得观看哦!(分成了两部压缩卷哦!此卷为第二部分哦!)

    Visual Studio经典C++入门教程

    VisualStudio 其实是微软开发的一套工具集,它由各种各样的工具组成,这就好像 Office 2007是由 Word 2007、Excel 2007、Access 2007 等等组成的一个道理。其中 Visual C++就是 VisualStudio 的一个重要的组成部分。...

    Visual C++ Redistributable for Visual Studio 2015

    2. **C++标准库更新**:Visual Studio 2015引入了对C++11和C++14标准的支持,包括新添加的并发编程工具、类型推断(auto关键字)、右值引用(Rvalue References)以及智能指针等特性,使得C++编程更加现代化和高效。...

    Visual C++2012 开发权威指南

    主要内容:Metro新特性、Visual Studio 2012九大新功能,Visual C++ 2012语言新特性,Visual C++ 2012的异步编程与网络编程,实现并行编程充分利用多核处理能力,基于Visual C++充分使用GPU的计算能力,使用Lambda、...

    Visual C++ Redistributable Packages for Visual Studio(64位资源)

    Visual C++ Redistributable Packages是Microsoft为Visual Studio开发的一款重要组件,主要目的是为了支持运行使用Visual C++编译器创建的依赖于特定版本MFC(Microsoft Foundation Classes)、ATL(Active Template...

    最新Visual C++ 6.0开发指南

    《最新Visual C++ 6.0开发指南》是一份针对微软经典的编程工具——Visual C++ 6.0的详尽教程。Visual C++ 6.0是微软在20世纪末发布的集成开发环境(IDE),它结合了C++编译器、调试器和其他辅助开发工具,为程序员...

    Visual C++ Redistributable for Visual Studio 2015.rar

    这个版本引入了若干新特性,如对C++11和C++14标准的支持,改进的调试工具,以及更高效的代码编辑体验。因此,其对应的VC++ Redistributable 2015是确保这些先进特性能被正确执行的关键。 三、运行库的作用 1. 动态...

    Microsoft Visual C++ Redistributable For Visual Studio 2013 (vcredist_x86.exe)

    总结,Microsoft Visual C++ Redistributable for Visual Studio 2013是C++开发中的关键组件,为运行基于VS2013的C++应用程序提供了必要支持。其安装简单,兼容性广,同时遵循严格的许可条款,确保了软件的合法使用...

    Visual C++ Redistributable for Visual Studio 2012 U4_x86.rar

    Visual C++ Redistributable 是微软开发工具Visual Studio的重要组成部分,它为运行使用Visual C++编译器创建的应用程序提供必要的运行时库。在本篇文章中,我们将深入探讨"Visual C++ Redistributable for Visual ...

    Visual C++ Redistributable Packages for Visual Studio 2013.zip

    这些 redistributables 是由微软公司为Visual Studio 2013版本提供的,它们是运行使用Microsoft Visual C++编译器开发的程序所必需的运行时库。标题中的“Visual C++ Redistributable Packages for Visual Studio ...

    Visual C++ 6.0开发指南

    《Visual C++ 6.0开发指南》是一本专注于C++编程语言在Microsoft Visual C++ 6.0集成开发环境下的应用与实践的教程。这本书不仅涵盖了C++的基础知识,还深入介绍了如何利用Visual C++ 6.0进行高效、实用的软件开发,...

    Visual C++ Redistributable Packages for Visual Studio 2013

    Visual C++ Redistributable Packages是微软为Visual Studio 2013开发的一款运行库,它是许多基于C++编译的软件运行所必需的组件。这些库包含了运行时环境,使得应用程序能够在没有完整Visual C++编译器的情况下正常...

    Visual C++ Redistributable for Visual Studio 2012 U4_x64.rar

    总结起来,Visual C++ Redistributable for Visual Studio 2012 U4_x64是64位系统上运行基于Visual Studio 2012开发的C++应用程序的关键组件。它允许开发者将应用程序部署到广泛的目标机器上,同时确保依赖的运行时...

    vc制作Visual Studio风格的用户界面窗口.visual c++

    在使用Visual C++进行软件开发时,创建一个与Visual Studio风格一致的用户界面窗口是提升用户体验的重要步骤。本文将深入探讨如何使用C++和Visual C++来实现这一目标。 首先,我们要了解MFC(Microsoft Foundation ...

    Visual C++ Redistributable Packages for Visual Studio

    在计算机编程领域,Visual C++ Redistributable Packages for Visual Studio 是一个至关重要的组件,尤其是对于那些使用Visual Studio 2013开发的程序而言。这个组件的主要作用在于为运行依赖于Microsoft Visual C++...

    Visual C++ Redistributable for Visual Studio 2012 Update 4

    《Visual C++ Redistributable for Visual Studio 2012 Update 4 在 WAMP 服务器中的关键作用》 在IT领域,尤其是Web开发环境中,WAMP(Windows、Apache、MySQL、PHP)服务器扮演着至关重要的角色,它为开发者提供...

    Visual C++ Redistributable Packages for Visual Studio(32位资源)

    在软件开发领域,Visual C++ Redistributable Packages对于Visual Studio用户而言是至关重要的组件。它是一系列动态链接库(DLLs),用于支持运行使用Visual C++编译器创建的应用程序。这些分发包确保了计算机上即使...

    visual studio.net 开发环境使用指南

    《Visual Studio .NET 开发环境使用指南》是一本详尽阐述如何有效利用Microsoft的Visual Studio .NET集成开发环境(IDE)进行软件开发的教程。该指南涵盖了从安装配置到项目管理,再到代码编写和调试等一系列步骤,...

    Visual C++ 开发实战

    《Visual C++ 开发实战》是一本专注于C++编程在微软Visual Studio环境下实践应用的教程。这本书的内容深入浅出,涵盖了从基础到高级的各种技术,旨在帮助读者掌握使用Visual C++进行软件开发的核心技能。 首先,...

Global site tag (gtag.js) - Google Analytics