它始终位于代码段的最低地址吗?
答案 0 :(得分:8)
不,不一定。 PE入口点在IMAGE_OPTIONAL_HEADER结构的AddressOfEntryPoint
字段中定义:
指向入口点函数的指针,相对于图像基址。对于可执行文件,这是起始地址。对于设备驱动程序,这是初始化函数的地址。入口点函数对于DLL是可选的。如果没有入口点,则该成员为零。
链接器可以将其设置为它想要的任何值,只要它是PE的有效相对虚拟偏移量即可。一些编译器和链接器可能具有将入口点放在文本/代码部分开头的约定,但是没有OS或PE格式要求。