C#和.NET框架和术语

Java 发表评论

接触C#的时候,肯定会先接触到一堆专业术语C#、.NET、CLI、CIL、CTS、CLS、CLR、JIT、BCL、FCL、Module、Assembly 等等

C#应用的内部编译、执行过程如下:

我们把C#和.NET这些术语解释下

各种语言C#、VB等基于.NET环境的语言,在经过各种编译器编译后,生成CIL(common intermediate language公共中间语言),CIL是和平台无关的,CIL在被调用运行时经过JIT(just in time实时编译器编译),编译成和平台相关的本地代码。

1.C#  编程语言、高级语言

2..NET是比MFC和COM更优秀的面向对象的环境.主要优秀在跨平台

3.托管代码:为.NET框架编写的代码,需要CLR

   非托管代码:不在CLR控制之下运行的代码,如win32 c/c++ dll

4.CIL:是和平台无关的公共中间语言,这样能做到跨平台性,在运行的时候经过JIT实时编译器编译后,编译成和平台相关的本地代码。微软提供了Ngen工具把程序集转换成本机代码,免除了运行时JIT实时编译。

5.CLR:公共语言运行库。Common Language Runtime。是.NET核心组件,是操作系统的顶层,负责管理程序的执行。主要包括:

          GC 垃圾回收器

          JIT 实时编译器

          BCL 基类库

6.CLI :(Common Language Infrastructure公共语言基础结构),是一组标准,把.NET框架的组件组合成一个系统。包含:

CLR:公共语言运行库

CLS:公共语言规范

BCL:基类库

元数据+定义

CTS:公共类型系统

CIL:公共中间语言

参考链接:http://www.tracefact.net/CLR-and-Framework/DotNet-Framework.aspx

参考书籍:C#图解教程

发表评论

电子邮件地址不会被公开。 必填项已用*标注

昵称 *