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

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

第一个命令起作用,第二个不起作用。OSX的链接器对-Ttext一无所知。有谁知道不使用虚拟linux系统的解决方法吗?一定有办法。
objcopy也不工作。

最佳答案

我用自制软件下载了GNU实用程序,我用的是gobjcopy。我从这里得到下载信息:
https://www.topbug.net/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

关于c - 如何在OSX中将C编译为原始二进制文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41204686/

10-11 22:11
查看更多