CLS, CTS, MSIL, JIT名词解释

难度:3
需要基础:对数据类型,程序编译、连接、运行有一定了解。

创建一个应用程序的步骤:

1.使用某种.NET兼容语言(如C#)编写程序源代码。

2.运行时,代码被编译为MSIL(Microsoft Intermediate Language,中间代码)。正如我们创建一种国际语言,把英语、汉语、法语都翻译成国际语言,就方便了大家的沟通。当然在程序中,是为了实现不同编程语言(VB, Java, C, C++, C#等)的相互“沟通”。例如,VB程序员就可以调用C#程序员的程序。

3.代码被执行时,使用JIT编译器编译成本机代码。因为MSIL代码独立于机器(计算机硬件)、操作系统、CPU。所以具体执行时,针对不同的计算机,找到合适的JIT编译器创建本机代码,就能更快更高效的执行程序。

4.在托管的CLR环境下运行本机代码。并不是所有程序都是在托管环境下运行的:C#编写的程序是完全托管环境下的;而C++可以编写不在CLR控制下,即非托管的应用程序——例如,一些OS的底层操作。

CTS(Common Type System,通用类型系统)
类型是数据的一种表达方式,不同编程语言定义的基本数据类型各不相同。既然要实现语言之间的“沟通”,就需要一个规范来实现“不同”数据类型(也许只是名称不同,而实质相同)间的映射关系。便于使用.Net Framework在各种语言之间进行交互操作。CTS就完成这个工作。

CLR(Common Language Runtime,公共语言运行时)
它负责管理用.Net各种编程语言开发的所有应用程序的执行。最主要的就是上面讲到的托管代码,包括:内存管理、安全性处理、跨语言调试等。

MSIL
相信上面已经给大家了一个简明的介绍,这里就不赘述了。

JIT(Just-In-Time)
从全称也可以看出:强调实时,也就是中间代码实时执行时,才针对本地计算机的不同,被编译成本机代码。

附图:
.NET Framework 环境

.Net平台结构图(帮助理解CLR)

CLR结构图 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值