background image

图文讲解.NET CLR 是什么

2009-10-22 16:08 

 

佚名 cnblogs 

我要评论

 

 (1)

   

 字号

T

 | 

T

文章主要介绍了.NET CLR 是什么。两个图例可以让你清晰的知道 C#和.NET CLR 的区别,CLR 为开
发者提供了哪些服务,让你深入了解其中的奥秘。

AD:

大家首先要清楚的是,.NET 平台与 C#不是一回事.这点大家一定要明白,对开发人员来讲他有两个

概念。第一,它是 C#,VB.net 等程序运行的平台。第二,它因为为这些语言提供了丰富的类库(称之为
基类库),.NET CLR 是什么我们现在来一起看看吧。

NET CLR 是什么

对于一个将要面向.NET 平台进行开发的人来说,了解一下.NET 平台的整个构成是非常有必要的,如

图 1 所示即说明了.NET 平台的整体结构:

这个图就是著名的.NET 平台结构图,从这个图上可以看到,.NET Framework 是在 Microsoft.NET 平

台上开发的基础,ASP.NET、Windows Forms 和 VS.NET 都不过是.NET 平台开发的一部分,他的用
于.NET 应用程序的开发及展示。.NET 平台的核心技术为:通用语言运行时(CLR:Common 
Language Runtiome)、基类库(BCL:Base Class Library)、.NET 语言及 Visual Studio.NET

从这个图上可以看出,.NET Framework 是架构在 Windows 平台上的一个虚拟的运行平台,你可

以想象将最下层 Windows 换做其他的操作系统,例如说 Linux,一样可以实现使用符合 CLS(Common 
Language Specification,通用语言规范)的.NET 语言,(VB.NET、C#、JScript.NET 等),来创建
ASP.NET 或 Windows Form(可能会叫 Linux Forms)应用程序的功能,这其实就是 Mono 计划要实
现的功能。所以可以这么认为,理论上,C#是一种可以跨平台的语言,这很象 Java。C#另一个比较
象 Java 的地方是,它也是一种(特殊意义上的)语言,同 Java 一样,C#编写的程序代码也是先通过
C#

 

编译器编译为一种特殊的字节代码, (Microsoft Intermediate Language,MSIL,微软)中间语言,

运行时再经由特定的编译器(JIT 编译器,Just In tIME,  JITer)编译为机器代码,以供操作系统执行.
不仅是 C#语言,所有.NET 语言(将会包括我们常用的几十种现代的编码语言)都可以编写面向 CLR 的