JIT,CTS,CLS,CLR
面试题:
CLR是什么?程序集是什么?当运行一个程序集的时候,CLR做了什么事情?
Q:Common Language RunTime 公共语言运行时。
编译后代码的集合。(包括exe和dll)。 加载项目里所有的类到内存,并找到其中的主函数,并作为默认的启动函数调用执行。
JIT: 英文写作Just-In-Time Compiler,中文意思是即时编译器。
CTS: 公共类型系统(又叫通用系统类型) Common Type System
CLS: 公用语言规范 Common Language Specification 可以保证C#组件与其他语言组件间的互操作性
CLR: CLR(公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离
MSIL: Microsoft Intermediate Language (MSIL)微软中间语言,这是一种类似Java字节码的语言,也是为了能在不同平台移植所生成的中间代码
你觉得C#编译后的指令是上述哪个,该指令能不能直接运行,为什么?
答:MSIL,能直接运行,MSIL是介于高级语言和汇编语言,可以转化为本机代码且被机器识别.