【发布时间】:2016-02-27 06:53:58
【问题描述】:
我目前正在编写一个从 PE 文件读取和写入的库。据我从规范中了解到,可选标头通常不用于目标文件。但是,它包含指定 PE32 和 PE32+ 变体之间的字段。 PE 是否允许 PE32+ 目标文件?
规范中具体说:
一个目标文件可能有一个可选的头文件,但通常这个头文件 除了增加大小之外,在目标文件中没有其他功能。
这对我来说似乎有点模棱两可。我倾向于将其解读为“可选标头在目标文件中被忽略,只会使文件膨胀”。但是,它可以被解读为“可在目标文件中使用可选标头以将大小从 32 位增加到 64 位”。这是什么意思?
编辑:根据规范,0x10b 的值表示 32 位,0x20b 的值表示 64 位,0x107 的值表示 ROM 映像。 ROM 映像是否始终为 32 位?
【问题讨论】: