CLR笔记:1.CLR的执行模型2011-10-26 博客园 包建强术语:CLR :Common Language Runtime 公共语言运行期,有多种不同编程语言使用的运行库托管模块:Managed Module,一个标准的MS Window可移植执行体文件(32位PE32或64位PE32+)IL:Intermediate Language 中间语言,又叫托管代码(由CLR管理它的执行)元数据:metadata,一系列特殊的数据表程序集:Assembly,抽象的JIT:just-in-time 即时编译,将IL编译成本地CPU指令(本地代码)FCL:Framework Class Library,Framework 类库CTS:Common Type System,通用类型系统,描述了类型的定义及其行为方式CLI:Common Language Infrastructure,公共语言基础结构,这是MS提交给ECMA的一个标准,由CTS 和其他Framwork组件构成CLS:Common Language Specfication,公共语言规范,详细规定了一个最小特性集1.1 将源代码编译成托管模块CLR编译过程: C#源码文件——C#编译器编译——托管模块(IL和元数据)托管模块的各个部分:1.PE32或PE32+头标志了文件类型,GUI/CUI/DLL,文件生成时间,在32位还是64位上运行2.CLR头CLR版本,入口方法,模块元数据,资源,强名称3.元数据3种类型的表4.IL代码元数据包括:1.描述了模块中定义的内容,比如类及其成员2.指出了托管模块引用的内容,比如导入的类及其成员3.清单manifest,描述了构成Assembly的文件,由Assembly中的文件实现的公共导出类型,与 Assembly相关联的资源/数据文件元数据总是嵌入到与代码相同的EXE/DLL中,始终与IL保持同步。