专注.NET平台

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1. 托管模块的组成部分

(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. 一个方法首次调用时的情景

Image

第二次调用时情景

Image(1)

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的一个最小功能子集。任何编译器生成的类型要想兼容于其他语言所生成的组件,就必须支持这个最小功能集。Image(2)

posted on 2011-03-01 21:38  吴春晖  阅读(186)  评论(0编辑  收藏  举报