网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
从.NET CLI(第3版)看.NET Framework 2.0
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式

2005年6月,.NET CLI(第3版)正式成为ECMA标准ECMA-335(第3版),第3版.NET CLI对应.NET Framework 2.0。了解第3版.NET CLI对了解.NET Framework 2.0内核有重要意义,本文试通过简要分析.NET CLI(第3版)包含的内容,初步了解一般资料中较少涉及的.NET Framework 2.0内核相关信息。

1 什么是.NET CLI

.NET CLI是.NET公共语言基础结构(.NET Common Language Infrastructure)的缩写,.NET Framework基于.NET CLI。.NET CLI文档中对.NET CLI的定义是:.NET CLI定义了一个公共语言基础结构,在公共语言基础结构中,各种不同的高级语言开发的应用程序,无需修改程序以适应不同的系统环境特有的特性,就可以在不同的系统环境下运行。

这个定义点明了.NET Framework的基本特性:

1、.NET Framework和Java一样,具有跨平台性,“不同的系统环境”实际上就是不同的硬件和软件平台(包括操作系统),理论上说,在任何硬件和软件平台上,只要实现.NET Framework,就可以不加修改地运行任何.NET应用程序,而无需考虑平台自身的特性。

2、.NET Framework还可以支持多种高级语言(跨语言性),任何.NET编程语言,即.NET平台支持的高级语言,开发的应用程序在.NET Framework上是等价的,都可以在.NET Framework上运行。

无论商业的炒作如何进行,系统底层程序员应该保持清醒的头脑,从.NET Framework的基本特性看来,通常被称为.NET CLR(.NET公共语言运行时,.NET Common Language Runtime)的.NET Framework底层,本质上一定是类似于Java虚拟机(Java VM)的虚拟机,.NET CLR执行的代码一定也是一种虚拟机代码或者中间代码,否则.NET Framework不可能实现跨平台,特别是适应不同的硬件平台。因为不同的硬件平台,CPU的指令集可能是不同的,只有通过虚拟机将中间代码在运行时动态转换为CPU指令集支持的本机代码,才能实现中间代码在不同硬件平台上的同样执行,进而实现适应不同的硬件平台。

.NET Framework可以支持多种.NET编程语言,这意味着:任何.NET编程语言的源程序最终都编译成相同的中间代码,也就是可以在.NET CLR(虚拟机)上运行的虚拟机代码。

2 .NET CLI包含的内容

.NET CLI(第3版)文档包含下列部分:

1、概念和体系结构:描述.NET CLI的全部体系结构,提供公共类型系统(CTS,Common Type System)、虚拟执行系统(VES,Virtual Execution System)和公共语言规范(CLS,Common Language Specification)的标准化描述,还提供对元数据(Metadata)的信息性描述。

2、元数据的定义和语义:提供元数据的标准化描述,包括元数据在.NET扩展PE文件格式中的位置(以.NET扩展PE文件格式的形式表示),元数据的逻辑内容(以表格及其关联的集合的形式表示,实际上使用了形式化方法表示)和元数据的语义(以汇编成为虚拟机代码的汇编器ilasm理解的形式表示)。

3、CIL指令集:描述公共中间语言(CIL,Common Intermediate Language)指令集。CIL又称MSIL(微软中间语言,Microsoft Intermediate Language),CIL指令就是虚拟机代码或者中间代码的指令。

4、Profile和库:提供CLI库的简要介绍,以及将其分解为Profile和库的规范。这里有一个配套的文件CLILibraryTypes.xml,考虑过随这一部分一起发布,不过该文件是XML格式的,该文件提供了CLI库中每一个类、值类型和接口的细节说明。“Profile”一词在这里的含义是库的集合,一起组合起来构成提供一定功能级别的一致性整体,换而言之,不同的Profile对应不同的库集合,提供的功能级别也不同,“Profile”一词亦可翻译成“库概要”或者“库配置”,但切勿翻译成“配置文件”。

5、调试交换格式:可交换(.NET CLI通用)调试信息的

  • 上一篇资讯: C#事件与委托趣谈
  • 下一篇资讯: C++/CLI中类的本质分析
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号