正在阅读:微软Visual Studio2005开发工具路线图详解微软Visual Studio2005开发工具路线图详解

2005-11-11 11:32 出处: 作者:MSDN 责任编辑:xietaoming

Visual C++

  Visual C++ 2005 将为面向 Windows 和 .NET Framework 的系统和应用程序开发人员提供比其较低版本更多的功能和更细粒度的控制。 人们计划在该产品的所有领域(包括语言、编译器和核心库)进行关键改进。这些增强功能将使 C++ 开发人员能够更有效地面对 CLR、优化代码的性能、面对 64 位 Windows 以及提高应用程序的安全性。此外,Visual C++ 2005 将 使开发人员能够直接在 Visual Studio 2005 IDE 中为移动设备生成本机 C++ 应用程序。(有关嵌入式 C++ 开发的详细信息,请参阅 “基于设备的开发”一节)。

  通过 Visual C++ .NET 2002 版和 2003 版,托管扩展使开发人员能够显式利用 CLR 和 .NET Framework。在 Visual C++ 2005 中,现有的托管扩展语法将继续得到完全支持。此外,Visual C++ 将通过强大的新功能以及用于编写托管代码的更为优雅的语法为 CLR 和 .NET Framework 提供扩展支持。该语法现正在作为到 ECMA 标准化公共语言基础结构 (CLI) 的 C++ 绑定而进行 ECMA 标准化。这一新语法将称为 C++/CLI。

  C++ 语言的 C++/CLI 子集主要将在 Visual C++ 2005 中实现,并将为 Visual C++ 开发人员提供很多新功能。C++ 开发人员将第一次能够使用真正的 C++ 编程范型编写 .NET 连接的应用程序。例如,将为由 CLR 和垃圾回收器管理的代码和数据启用 C++ 模板和 C++ 样式的确定性终止。此外,C++/CLI 还为 C++ 提供很多 CLR 编程范型,包括泛型的 CLR 实现。

  C++/CLI 还简化了定义和使用托管数据类型的方式。新标准引入的关键字对于 C++ 开发人员而言,比当前托管扩展的下划线-下划线 关键字更为直观。在 C++/CLI 中,ref 关键字用来以与托管扩展 __gc 关键字类似的方式定义垃圾回收类:

ref class MyRefClass { /* ... */ };

  此外,C++/CLI 还引入一种新的类型 — 句柄,该类型用来表示自动垃圾回收的使用。句柄借用指针的语法,但使用加字符号 (^) 而不是星号 (*)。关键字 gcnew 用于创建上述垃圾回收对象,并且返回一个句柄:

MyRefClass ^ c = gcnew MyRefClass();

  通过 C++/CLI,开发人员还将能为句柄类型合并入传统的 C++ 样式确定性终止。这意味着可使用正常的 C++ 堆栈分配语法选择性地将引用类型作为对象进行实例化。这样,该对象将在脱离作用范围时自动调用它的析构函数。该功能启用了在其他面向 CLR 的语言中不可用的编程风格。

  除了 C++/CLI 支持以外,Visual C++ 编译器还将为面向 CLR 的代码提供多个代码生成增强功能。这些增强功能包括:能够指定不包含本机 x86 指令的“纯粹”图像,以及通过 CLR 验证过程的“安全”图像。而且,Visual C++ 2005 编译器能够比其他托管语言更好地优化 MSIL。

  为 Visual C++ 2005 中的 C++ 编译器规划了很多增强功能,其中之一便是 Profile Guided Optimizations (POGO)。POGO 技术使编译器能够测量应用程序的各种数据,并收集有关应用程序在运行时使用方式的信息。这些信息使 Visual C++ 能够基于真实的应用程序使用模式进一步优化生成的代码。目前,在免费下载的 Platform SDK (PSDK) 中附带有 64 位 POGO 技术的预发布版本。在 Visual C++ 2005 中,该技术将扩展到核心 32 位编译器,且有关的支持将集成到 IDE 中(图 7)。


7. Visual C++ 2005 中的 POGO 支持将通过规范和运行时分析来优化应用程序。

该版本还将包含目前在 PSDK 中仅以预发布形式提供的 64 位 C++ 编译器。这些编译器使 Visual C++ 开发人员能够编写面向在 Intel 和 AMD 硬件上运行的 64 位版本 Windows 的非托管代码。对面向 64 位 Windows 的支持将完全集成到 IDE 中(图 8)。


8. Visual C++ 2005 中的平台支持范围被扩展以包括 64 Windows 以及各种移动设备。

  除语言和编译器增强功能以外,Visual C++ 2005 还为核心 C++ 库(如 Microsoft 基础类库 (MFC)、标准模板库 (STL) 和 C 运行时库 (CRT))提供改进和增强。这些增强将使 C++ 开发人员能更好地支持 .NET Framework,并提供内置的应用程序安全性。

  首先,将引入新版本的标准模板库 (STL)。该版本的 STL 将被调整以与托管代码和数据进行交互。那些习惯于使用 STL 编写传统 C++ 应用程序的程序员将发现,他们能应用相同的编码技术来编写基于 CLR 的应用程序。其次,新版本带有增强安全功能的 C 运行库 (CRT) 将随 Visual C++ 2005 一起发布。作为 Microsoft 对“可信赖计算”倡议的持续承诺的一部分,该版本的 CRT 将有助于增强集成了 CRT 的应用程序的集体安全性。

  对于 Visual C++ 2005,开发人员将继续选择 Visual C++ 来生成最为苛求的应用程序和组件。Visual C++ 2005 通过提供令人兴奋的新增和改进功能,为具有控制和性能意识的 C++ 开发人员扩展了在 Visual C++ .NET 2003 版中提供的核心功能集。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品