代码改变世界

[.NET Framework学习笔记]一些概念

2014-03-17 23:18  hellenism  阅读(241)  评论(0编辑  收藏  举报

CIL:Common Intermediate Language 公共中间语言

VB.NET 和 C#.NET 编译以后都生成相同的中间语言,程序集就是由CIL组成的,CIL代码也叫做托管代码,因为CIL需要有.NET运行时环境才能加载和运行,
反之,无需.NET运行时就可以运行的代码,叫做非托管代码

 

 

BCL: Base Class Library 基类库

提供最基本的类型支持开发者编写.NET程序,是.NET框架的核心类型库

 

 

FCL: Framework Class Libray 框架类库

BCL是FCL的一个子集,是整个.NET技术架构的类库,在不同技术中可共用或者有单独派省出来的版本

Windows Form , ASP.NET, WPF ,WCF ,WF 等技术的基础类库的总和

 


CTS:Common Type System 公共类型系统

简单理解为CIL的定义,它规定了CIL的数据类型系统。任何一门新的程序设计语言,其编译器生成的结果符合CST,那么它得到的产物将会是CIL,那么这一门语言就是一门面向.NET的语言,

 


CLS:Common Language Specification 公共语言规范

CTS规定了类型,CLS规定语法

 

 

CLR: Common Language Runtime 公共语言运行时

提供CIL运行的环境,因为CIL不能被CPU识别,需要一个环境在运行时进行编译和解释才能转换成为机器指令。CLR也称为.NET虚拟机VES(Virtual Execution System,虚拟执行系统)

主要负责:管理应用程序域、加载和运行程序集、安全检查、将CIL代码即时编译为机器代码、异常处理、内存管理,对象析构和垃圾回收等