我无法使用以下命令在 Mac OS 下编译这段汇编代码:
.text
.global _start
_start:
. = _start + 510
.byte 0x55
.byte 0xaa
ld –Ttext 0x7c00 --oformat=binary test.o –o test.bin
结果终端中的指令:
ld: file not found: –Ttext
您能告诉我为什么这不起作用吗,以及是否有此指令的替代方法以所需的格式进行编译。谢谢大家。
我在 OS X 中发现了这个相关的问题GNU Linker 等效命令
OP 做了繁重的工作来找到解决方案:
gobjcopy -j .text --set-start 0x7c00 -O binary source.o boot.bin
——
更新:见下面的评论。
TLDR:不要使用上述内容。相反,构建(或获取)一个通用的 ELF binutils,它将使您能够访问基于 GNU 工具链的 LD 版本。该版本的 LD 支持正确的链接器脚本,并且更容易进行操作系统开发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句