在.Net中,配件中的中间语言是什么意思

Python025

在.Net中,配件中的中间语言是什么意思,第1张

mmon Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。

.net框架中包括有一组.net框架类库(Framework Class Library,简称FCL)程序集,其中含 有几千个类型的定义,每个类型都提供了某种功能。

IL又称为(interpretative language 解释语言),我们.NET开发人员必定离不开IL,就算您没有学习,也一定可以在各处看到它的身影。而且IL也是.NET唯一懂得的语言,我们每天其实都在使用着ILIL是中间层语言

上层代码编译完成后都要转换为中间语言供CLR使用

IL为Intermediate Language

有时候也叫Microsoft Intermediate Language

中间语言使得在.Net中各种语言的方便交互成为了可能。

assembly, 这里把它翻译为配件, 以示和组件(Component)加以区别.

一个配件有时候是指一个EXE或者DLL文件, 实际上是一个应用程序(就是指带有主程序

入口点的模块)或者一个库文件. 但是配件实际上可以是由一个或者多个文件组成

(dlls, exes, html等等), 代表一组资源, 以及类型的定义和实现的集合. 一个配件也可

以包含对其它配件的引用. 所有这些资源、类型和引用都在一个列表(manifest)中描述?nbsp

U飧鳇anifest也是配件的一部分,所以配件是一个自我描述的,不需要其它附加的部件

对其描述!配件的另一个重要特性是,它是.Net环境下类型标识的一部分,也可以说

是基本单位。因为,区分一个类型的标识就是包含这个类型的配件名字加上类型名本身。

举个例子,配件A定义了类型T, 配件B也定义了同名类型T,但是.Net把这两个类型认为是

不同的类型。 注意,不要把配件(assembly)和名字空间(namespace)混淆起来。其实

名字空间仅仅是用来把类型名用树的形式组织起来的手段。对于运行是环境来讲,类型名

就是类型名,和名字空间一点关系都没有。 总之,记住配件名加上类型名唯一标识一个

运行时类型。 另外,配件也是.Net框架用于安全策略的基本单位,许多安全策略都是

基于配件的。

.NET是一个运行平台,在这个平台上我们可以用C#,VB.NET,J#等开发语言进行软件开发包括网站的开发,你可以理解成操作系统,我们用C#,VB.NET开发的应用程序必须在这个.NET平台上才能运行,就像Windows版的QQ只能在XP,或win7等windows平台上运行而无法在unix,linux等平台上运行一样,更多关于.NET的问题你可以去MSDN,挨踢e族等网站了解

微软.NET Framework框架的CLR是指公共语言运行时(Common Language Runtime,简称CLR),简单地理解CLR是指所有托管代码运行时的宿主,就是说托管代码的运行是依赖(寄宿)于CLR环境的。原理是因为托管代码编译后并非是二进制文件(0和1)而是生成MSIL,即微软中间语言,再由IL去解析到底如何去执行。

托管代码:C#,VB.NET,J#等.NET平台语言。

非托管代码:C语言,C++语言。

CLR就是类似于JAVA的JVM(JAVA虚拟机),.NET与JAVA都一个样,编译后都不是0和1,它们分别是.NET为IL中间语言,JAVA为字节码。然后分别由.NET的CLR,JAVA的JVM去解析。