7

它总是在代码段的最低地址吗?

4

1 回答 1

12

不,不一定。PE 入口点在IMAGE_OPTIONAL_HEADER结构中定义,在AddressOfEntryPoint字段中:

指向入口点函数的指针,相对于图像基地址。对于可执行文件,这是起始地址。对于设备驱动程序,这是初始化函数的地址。入口点函数对于 DLL 是可选的。当不存在入口点时,此成员为零。

链接器可以将其设置为它想要的任何值,只要它是 PE 中的有效相对虚拟偏移量。一些编译器和链接器可能有将入口点放在文本/代码部分开头的约定,但对它没有 OS 或 PE 格式要求。

于 2010-09-19T12:39:29.393 回答