background image

序的可靠性。如你所知,如果某种语言的编译器是以运行时为目标的,那么利用该语言开发生成的代码
在.NET 中被称为托管代码,因为这样的代码是直接运行在 CLR 上的,所以具有与平台无关的特点。

在.NET 平台结构图中,CLR 的上面是.NET 的基类库,这组基类库包括从基本输入输出到数据访问

等各方面,提供了一个统一的面向对象的,层次化的,可扩展的编程接口。从.NET 平台结构图中也可
以看到,基类库可以被各种语言调用和扩展,

 

也就是说不管是 C#,VB.NET 还是 VC++.NET,都可以自

由的调用,.NET 的类库,因为 C#自身只有 77 个关键字,而且语法对程序员来说无需费工夫学习。 
BCL 则相反,它包含了 4500 个以上的类和无数的方法,属性,在你的 C#程序中随时都可能会用到它
来完成自己的任务.

还有一个很重要的概念你需要明白,这就是公共语言架构(Common Language 

Infrastructure,CLI).CLI 是 CLR 的一个子集,也就是.NET 中最最终对编译成 MSIL 代码的应用程序的
运行环境进行管理的那一部分。在 CLR 结构图中 CLI 位于下半部分,主要包括类加载器(Class 
Loader)、实时编译器(IL To Native Compilers)和一个运行时环境的垃圾收集及将使用任何语言
编写的代码,通过其特定的编译器转换为 MSIL

 

代码之后运行其上,甚至还可以自己写 MSIL 在 CLI 上

运行.以上就是介绍.NET CLR 是什么。