机会是个小姑娘,需要我们主动点

(有所为,有所不为)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CLR学习记录

Posted on 2011-02-10 10:03  五子登科  阅读(503)  评论(0)    收藏  举报

一、编译的两个阶段:

   1、编译器将源代码编译为IL

   2、CLR将IL编译为平台专用代码

二、IL:

   IL是.NET框架中中间语言(Intermediate Language)的缩写。使用.NET框架提供的编译器可以直接将源程序编译为.exe或.dll文件,但此时编译出来的程序代码并不是CPU能直接执行的机器代码,而是一种中间语言IL(Intermedate Language)的代码。

使用中间语言的优点有两点,一是可以实现平台无关性,既与特定CPU无关;二是只要把.NET框架某种语言编译成IL代码,就实现.NET框架中语言之间的交互操作。

三、CLR、CTS、CLS

   CLR是.NET Framework的核心,而CTS(common Type System)和CLS(common language System)是CLR的核心。任何编程语言,如果想要在.NET CLR上执行,就必需提供一个编译器,将此语言的程序编译成.NET CLR所认识的metadata以及IL,符合CTS的规定。并非所有的语言都能和C#一样符合CTS的规范,毕竟许多语言出现在先,CTS出现在后,所以有一些旧的语言未能符合CTS的规定。

   CTS(通用类型系统):定义可以在中间语言中使用的预定义数据类型。目的:所有面向.net 的语言都可以生成最终基于这些类型的编译代码

   CLS(公共语言规范):CLS制定了一种以.NET平台为目标的语言所必须支持的最小特征,以及该语言与其他.NET语言之间实现互操作性所需要的完备特征,与CTS一起确保语言的互操作性。

本文有参考:http://blog.csdn.net/mjx20045912/archive/2010/06/07/5653668.aspx

                http://baike.baidu.com/view/605055.htm