初读 CLR Via C# 有一些 名词需要记忆:
1、CLR: Common Language Runtime (公共语言运行时)
可有多种编程语言使用的Runtime. 其核心功能是: 内存管理、 程序集加载、 安全性、 异常处理和线程同步等;
2、 Managed Module (托管模块)
托管模块包括: PE32 或PE32+ 、CLR 头 、 元数据 、 IL代码。
3、PE: Protable Executable (可移植执行体) 。
PE32:是 标准32位 windows 可移植执行体文件。
PE32+: 是标准64位 可移植执行体文件
4、DEP: Data Execution Prevention (数据执行保护)
5、ASLR: Address Space Layout Randomization, 地址空间布局随机化
6、Native Code Compilers (本机代码编译器) : 生成的是面向 特定CPU(比如:x86 , x64或ARM)架构的代码
7、 IL(中间)代码: 又称 托管代码(Managed Code).
8、MetaData(元数据 ): 数据表集合,, 描述了 (1)源代码中定义的类型和成员 ,(2)源代码中引用的类型和成员。
9、Assembly(程序集)
源代码文件 --经编译器 成---> 托管模块 ;
托管模块 + 资源文件 -----经工具合并成 -----> 程序集;
10、 JIT (just -in-time)
11、JITCompiler : 即时编译器。 职责: 将方法的IL 转换成 本机(native) CPU 指令。
当第一次 执行一个方法时,此方法 要经过 JITCompiler 转换成 Native CPU 指令。