CLR via C# 笔记系列 - clr的执行模型
时间:2011-03-01 来源:吴春晖
(1)PE32或 PE32+ 头。PE是Portable Executable的简称,如果使用PE32头,文件能在windows32以及64版本运行,如果是PE32+,那么只能在64位本版运行。
(2) CLR头。
(3) 元数据:主要有两种元数据表,一种描述源代码中定义的类型和成员,另一种描述引用的类型和成员
(4) IL(中间代码)
2. 和其他任何机器语言一样,IL也能使用汇编语言来写,微软还提供了名为ILAsm.exe的IL汇编器和ILDasm.exe的反汇编器。 通常高级语言只公开了CLR部分功能,但IL允许开发人员访问CLR所以功能。
3. 一个方法首次调用时的情景
第二次调用时情景
4. Framework类库,FCL(Framework Class Library)是一组DLL程序集的统称,定义了开发者经常用到的功能。
5. 关于CLR/CTS和CLS以及各种语言之间的关系
CLR - Common Language Runtime公共语言运行时
CTS - Common Type System通用类型系统
定义了类型系统可包含的成员字段,方法,属性,事件。以及可访问性等
CLI - Common Language Infrastructure
CLS - Common Language Specification公共语言规范
与CTS不同,CLS定义了一个CLR的一个最小功能子集。任何编译器生成的类型要想兼容于其他语言所生成的组件,就必须支持这个最小功能集。
相关阅读 更多 +