导航

.Net Module 漫谈

Posted on 2012-01-09 23:34  雨夜孤鹤  阅读(532)  评论(0编辑  收藏  举报

所有在 CLR 上执行的程序都是存储在一个叫做 Module 的单元中。这个Module就像是一个容器,由二进制流组成,存放在本地或者服务器上。CLR Module 是PE可执行文件的扩展版本,并且 Module 本身也是 Win32 Module。

那么,一个Module是由那些部分组成的呢?实际上,一个 Module 由二部分组成:Header,.text Section。而其主要内容都是存储在 .text Section 当中的。下面就详细说一下.text Section 中都包含哪些东西。

.text Section 实际由3部分组成:code,metadata,resource。其中,code 部分就是我们通常写的代码,不过这里存储的代码已经被转化成CIL,或者机器代码了。metadata部分用来定义代码里引用到的类型包括类型名称,继承关系,依赖信息等。resource包括只读的字符串,bitmap等。