找不到文件:-Ttext

时间:2017-09-01 15:13:02

标签: assembly

我无法使用以下方法在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

你能告诉我为什么这不起作用,但是如果有这个指令的替代品可以用所需的格式进行编译。 谢谢大家。

2 个答案:

答案 0 :(得分:3)

–Ttext中的第一个字符是 U + 2013(EN DASH)。

您需要使用- U + 002D(HYPHEN-MINUS)。

答案 1 :(得分:-1)

我发现了这个相关问题GNU Linker equivalent command in OS X

并且OP做了很多工作来找到解决方案:

gobjcopy -j .text --set-start 0x7c00 -O binary source.o boot.bin

-

更新:请参阅以下评论。

TLDR:不要使用上述内容。相反,构建(或获取)通用ELF binutils,它将允许您访问基于GNU工具链的LD版本。该版本的LD支持适当的链接器脚本,并且使用./ / p>进行OS开发更容易