难度: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结构图