如果你有 阅读 詹森·赞德的职位 今天早些时候,您知道VisualStudio2012已经发布到web上了!查看 MSDN订户下载页 以及 Visual Studio产品网站 . 这个版本为C++开发人员带来了巨大的新价值。以下是亮点:
C++ 11标准支持
语言支持
- 基于范围的for循环。 您可以编写更健壮的循环来处理窗体中的数组、STL容器和Windows运行时集合 for(for范围声明:表达式)。
- 无状态lambdas 这是以空LAMBDA介绍器[]开始并不捕获局部变量的代码块,现在可以按照C++ 11标准的要求隐式转换为函数指针。
- 作用域枚举支持。 现在支持C++枚举类枚举键。
标准模板库
- 我们增加了对新产品的支持 STL标题 :
、 、 、 、 、 、 和 。 - 可怕的迭代器。 按照C++ 11标准允许但不要求,已经实现了可怕的迭代器。
下面是VisualStudio 2012中C++ 11特性的详细讨论 ,与相应的C++ 11规范链接。另请参见 趣味视频系列 在STL上…按STL。
并行程序设计
编译器和链接器
我们进行了大量投资,以帮助开发人员充分利用其目标硬件。我们正在介绍 自动矢量器 为了利用SSE2指令,通过一次执行4个数字运算,使循环运行得更快, 自动并行器 自动将工作分散到多个CPU上 C++ AMP(C++加速大规模并行) 利用GPU的强大功能实现数据并行算法。请注意,C++ AMP也附带一个 一级调试 以及分析支持。
图书馆(PPL)
我们继续加强 并行模式库(PPL)的广度和深度。 除了在 异步编程 ,我们添加了 有关算法和并发集合的更多信息 . 我们也在努力将这些概念纳入到C++标准的下一个修订中。
调试
除了 并行任务 窗口和并行堆栈窗口,VisualStudio2012提供 新建并行监视窗口 以便您可以跨所有线程和进程检查表达式的值,并对结果执行排序和筛选。
Windows 8的C++
- 基于本机XAML的UI模型: 对于Windows 8应用商店应用程序,可以使用 基于本机XAML的UI模型 .
- Visual C++组件扩展 : 这些扩展简化了Windows运行时对象的使用,这些对象是新的windows8应用程序的必要部分。有关详细信息,请参阅 使用C++的Windows 8商店应用程序的路线图 和 Visual C++语言参考
- DirectX应用程序和游戏 : 您可以使用 新的DirectX支持 . 我们添加了用于 图形资源 ,和 调试 支持基于Direct3D的编程。 图形资源和调试工具也可以用于开发桌面应用程序。
- Windows运行时组件DLL开发 : 组件DLL开发使得 Windows运行时环境可扩展 .
注: XAML/DirectX互操作 : 针对Windows8应用商店应用程序的开发人员可以在同一个应用程序中同时使用XAML和DirectX,这使得开发人员可以构建类似于中的灵活用户界面 新鲜油漆 应用程序。
集成电路设备
除了一般的VisualStudioIDE改进,如新的解决方案资源管理器、预览标签、新的查找、比较和异步解决方案加载等,我们已经为C++提供了一些新的IDE增强,并帮助C++开发人员在VisualStudio中更有效率。
- C++代码段。 IDE现在为C+、IF、for循环等常见的C++代码构造自动添加骨架代码。从“列表成员”下拉列表中选择一个代码段,将其插入到代码中,然后填写所需的逻辑。您还可以创建自己的自定义代码段,以便在编辑器中使用。
- 语义色彩化。 C++代码编辑器通过对类型、枚举、宏和其他C++令牌进行着色,从而默认地传达代码的语义结构。还有许多其他的标记可以用不同的颜色来定制体验。
- 智能感知增强。 在代码编辑器中键入代码时,“列表成员”下拉列表将自动显示。结果将使用模糊搜索算法进行过滤,以便在键入时仅显示相关成员。C++智能信息快速工具提示现在显示更丰富的XML文档注释风格信息。现在选择一个符号将亮显当前文件中该符号的所有实例。按Ctrl+Shift+向上箭头或Ctrl+Shift+向下箭头在高亮显示的参照之间移动。
- C++/CLI智能感知。 C++/CLI现在已经拥有了完全的智能感知支持。智能信息特性如快速信息、参数帮助、列表成员和自动完成现在为C++和CLI工作。此外,本文档中列出的其他智能感知和IDE增强也适用于C++/CLI。
- Visual Studio模板支持。 现在可以使用VisualStudio模板技术来编写C++项目和项目模板
应用程序生命周期管理工具(ALM)
代码分析
静态代码分析有助于在编译时发现运行时问题,而修复这些问题的成本要低得多。 VisualStudio 2012中C++特性的代码分析已经得到增强,旨在提供改进的用户体验和分析能力。在这个新版本中,代码分析已经扩展到支持64位应用程序,附带额外的并发规则来检测竞争条件等问题,并提供创建自定义规则集的能力。此功能现在在所有VisualStudio版本中都可用,允许每个开发人员充分利用它。
体系结构依赖关系图
从源代码生成依赖关系图,以便更好地了解现有应用程序或其他人编写的代码的体系结构。在VisualStudio 2012中,可以通过二进制、类、命名空间和C++应用程序的文件来生成依赖关系图。另外,使用 架构资源管理器 工具窗口,通过查看解决方案视图或类视图来探索解决方案的资产和结构。
示例:二进制依赖关系图
示例:包含文件的依赖关系图
使用架构资源管理器浏览解决方案中的资产
C++单元测试框架
Visual Studio 2012附带 新的单元测试框架 对于本机C++。您可以编写C++程序的轻单元测试,以快速验证应用程序行为。使用新的 测试资源管理器 用于发现和管理测试以及测试结果的工具窗口。此功能现在在所有VisualStudio版本中都可用。
代码覆盖率
代码覆盖率已更新为在运行时动态插入二进制文件。这降低了配置开销,提供了更好的性能,并实现了更流畅的用户体验。代码覆盖特性也与VisualStudio 2012中的新C++单元测试框架集成,使您可以通过VisualStudioIDE中的一次单击来收集来自C++应用程序单元测试的代码覆盖率数据。
马上就来!
我们已经宣布了两件事,将在几个月内到达:
- 更新将 启用Windows XP目标
- 可用性 包含C++工具集的Windows桌面的SKU
Windows电话8的C++
一旦 Windows Phone 8 SDK 是可用的,C++开发人员将能够针对Windows Phone。敬请期待!
例子: Windows 8大理石迷宫示例 针对Windows Phone 8
一如往常,我们很高兴收到你的来信。感谢您保持我们的诚实和那些谁影响了我们的产品设计更好的荣誉!
代表VC++团队,
拉胡尔诉帕蒂尔
引导程序管理器,C++