CLR Via C#个人笔记1 - CLR基础
大章1:CLR基础CLR是什么
Common Language Runtime 公共语言运行时,CLR和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。
再丢几个概念,除了编译器,另外3个会在下面讲PE文件会提到,因为这3个是托管PE文件的构成部分。
「编译器」检查源代码,确定根据所使用语言语法所写的代码是有意义的,并输出实现其意图的代码。
元数据,每个托管模块都包含元数据表,主要是2种表:描述源代码中定义的类型和成员;描述源代码引用的类型和成员。
IL,中间语言代码,编译器编译源代码时生成的代码。在运行时,CLR将IL编译成本机CPU指令。
PE32或PE32+头,决定程序是以32位还是64位运行的文件头,它和VS中的目标平台中选项(下面叫做**/platform开关选项**)相关联
CLR、程序集是怎么跑起来的① 项目运行流程
Windows检查EXE文件头,决定是创建32位还是64位进程之后,会在进程地址空间加载MSCorEE.dll的对应版本(比如x86版本在%SystemRoot%\Syste ...


