什么是CLI?什么CLR?他们直接是什么关系?
CLI 公共语言基础设施(Common Language Infrastructure), 跨语言 跨平台的运行环境规范。CLR 就是CLI这套规范的具体实现,我们可以称呼CLR为执行引擎或者运行环境
这使得开发者可以用规范内定义的各种高级语言来开发软件,并且无须修正即可将软件运行在不同的平台上。CLI是一个开放型的技术规范,由微软、惠普和英特尔于2000年向ECMA倡议的。说白了,CLI就是一套规范,CLR是对CLI的一种实现。那么CLI这份规范中具体定义了哪些内容呢?
该标准化文件包括以下四部分:
- CTS
- IL:
- 底层文件
- 元数据格式
IL,Intermediage Language,中间语言,CLR把C# java F#等语言编写的代码都统编译成IL,这样就可以在IL 这一层实现 所有编程语言的统一。vs将编译后的IL、资源(图片)存储在Dll文件中。 当打开软件的时候 CLR将IL 二次编译成机器可识别的语言。