这部分内容呢,对普通开发者来说,意义不是特别大。但是作为一个有情怀的开发者,应该追根溯源,懂一些自己用的工具, 的粗浅知识。并且这部分内容可以用来个HR吹嘘一下自己的情怀。基本就是这样。
.NET生成的exe、dll不是普通的(可执行文件/动态链接库),.NET中提出一个概念叫
Assemblie(程序集)。是“MSIL/IL”二进制字节码。(也就是我们常说的IL代码)。
PS:编译完成后,.NET程序是正常的“01100....”的可执行文件,而是IL代码组成的中间层代码。.NET程序通过即时编译的方式,在运行时编译成真正的exe。所以有些程序在第一次运行的时候会稍微慢一点,有一些这部分的原因。
FrameWork几个核心功能。
CTS:Common Type System 通用类型系统。Int64→long、Int32→int、Int16→short、String→string、Boolean→bool。每种语言都定义了自己的类型,.Net通过CTS提供了公共的类型,然后翻译生成对应的.Net类型。
CLS:Common Language Specification 通用语言规范。不同语言语法的不同。每种语言都有自己的语法,.Net通过CLS提供了公共的语法,然后不同语言翻译生成对应的.Net语法。
CLR:Common Language Runtime 公共语言运行时,就是GC、JIT等这些。有不同的CLR,比如服务器CLR、Linux CLR(Mono)、Silverlight CLR(CoreCLR)。相当于一个发动机,负责执行IL。
时间: 2024-11-09 15:43:31