【发布时间】:2012-05-16 11:12:44
【问题描述】:
我一直在为 i386 实模式编写一些“独立”代码,并在 PXE 网络引导我的代码时遇到了一些奇怪的错误:
PXE-E79: NBP is too big to fit in free base memory
PXE-M0F: Exiting Intel Boot Agent.
在对我的二进制文件进行了多次摆弄之后,我将其隔离为在
之后具有任何数据或代码.data
分段标记。
在 hexdumping 之后,我发现 ld 将指令一直移动到所有位置的 0x0200000。
我目前正在生成我的平板箱:
ld --oformat binary
问题:
ld为什么要这样做?这是否特定于
oformat选项?
【问题讨论】: