2

我正在关注如何从头开始创建操作系统的教程。我现在需要开始用 C 语言编写代码,但我需要以独立模式将其编译为原始二进制文件。给出的命令是:

gcc -ffreestanding -c kernel.c -o kernel.o
ld -o kernel.bin -Ttext 0x1000 kernel.o --oformat binary

第一个命令有效,第二个无效。OSX 的链接器对 -Ttext 一无所知。任何人都知道在不使用虚拟 linux 系统的情况下解决这个问题的方法吗?一定有办法的。

objcopy 也不起作用。

4

1 回答 1

2

我使用自制软件下载了 GNU utils,并附带了我使用的 gobjcopy。我从这里得到了下载信息: https ://www.topbug.ne​​t/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/

我只是将所有 installatoin 命令粘贴到 .sh 文件中并运行它。

安装后我最终使用的命令是:

gcc -ffreestanding -c kernel.c -o kernel.o
gobjcopy -O binary kernel.o kernel.bin
于 2016-12-18T20:24:56.313 回答