设为首页 加入收藏

TOP

1.2.3 从C++到.NET Framework的CLI
2013-10-07 14:10:26 来源: 作者: 【 】 浏览:71
Tags:1.2.3 .NET Framework CLI

1.2.3  从C++(www.cppentry.com)到.NET Framework的CLI

微软于2000年推出的.NET Framework,是支持快速开发、部署网站服务及应用程序的开发平台。这个框架有两个目标:第一个目标是提高Windows操作系统平台应用程序的开发效率,特别是改善组件对象模型(Component Object Model,COM)的开发;第二个目标是提供支持发展软件服务(software service)的开发平台。

为了使C++(www.cppentry.com)应对新的开发趋势,在这个面向未来的开发平台上占有一席之地,微软把C++(www.cppentry.com)改造成.NET Framework中的C++(www.cppentry.com)/CLI(Common Language Infrastructure,公共语言结构),代替C++(www.cppentry.com)托管扩展,从而允许大量熟悉C++(www.cppentry.com)的开发人员可以继续在.NET Framework平台上开发C++(www.cppentry.com)应用。

这门语言在兼容原有的C++(www.cppentry.com)标准的同时,简化了托管代码扩展的语法,提供了更好的代码可读性和易用性。微软向ECMA提交了C++(www.cppentry.com)/CLI的标准化请求,使其通过ECMA成为正式的标准。C++(www.cppentry.com)/CLI现在可以被Visual C++(www.cppentry.com) 2005和更高版本的编译器支持。C++(www.cppentry.com)/CLI的部分特性已经申请了专利。

到底什么是C++(www.cppentry.com)/CLI?它跟传统的C++(www.cppentry.com)又有什么不同呢?

CLI指的是通用语言结构,一种支持动态组件编程(www.cppentry.com)模型的多重结构。在整个CLI中,最重要的是公共语言运行时(Common Language Runtime,CLR),它负责管理微软中间语言(Microsoft Intermediate Language,MSIL)代码的运行环境。CLR位于CLI的下半部分(如图1-1所示),主要包括类加载器(class loader)、实时编译器(IL to native compilers)和一个运行时环境的垃圾收集器(garbage collector)。CLI运行在底层操作系统与程序之间,为MSIL代码提供运行的环境,这使得CLI成为一个实时的软件层、一个有效的执行系统。可以将任何语言编写的代码通过特定的编译器转换为MSIL代码,然后在CLI上运行。

 
图1-1  C++(www.cppentry.com)/CLI的结构
C++(www.cppentry.com)和CLI结合起来就成了一种可以经过特殊的编译器编译之后运行在CLI之上的C++(www.cppentry.com)语言。斜杠"/"代表C++(www.cppentry.com)和CLI的捆绑,这个捆绑使得C++(www.cppentry.com)/CLI同时具备了C++(www.cppentry.com)和CLI这两个方面的特性。首先,C++(www.cppentry.com)/CLI继承了C++(www.cppentry.com)的大部分语法规则,使得我们可以轻松地将C++(www.cppentry.com)代码转换为C++(www.cppentry.com)/CLI代码。开发人员可以充分利用已有的C++(www.cppentry.com)编码经验,使用C++(www.cppentry.com)/CLI为.NET Framework平台开发新的应用程序。其次,当我们用C++(www.cppentry.com)/CLI编写的托管代码被运行时,代码将被CLR所管理,它提供了诸如垃圾收集等现代高级程序设计语言的特性,同时也实现了C++(www.cppentry.com)/CLI与.NET Framework支持的其他语言之间的互操作性,让我们可以通过C++(www.cppentry.com)/CLI使用.NET Framework平台上丰富的组件来提高开发效率。可以说,借助强大的.NET Framework,C++(www.cppentry.com)/CLI使得C++(www.cppentry.com)这门"古老"的程序设计语言做到与时俱进,能够开发面向未来的丰富应用。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.4.2 "多读多写"是学.. 下一篇1.2.6 五岳剑派:C++世界的五大子..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: