2016-12-18 124 views
0

我遵循关于如何从头开始创建操作系统的教程。我处于需要开始用C语言编写代码的地步,但我需要将它以独立模式编译为原始二进制文件。给出的命令是:如何将C编译为OSX中的原始二进制文件?

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

第一个命令有效,第二个命令不起作用。 OSX的链接器不知道关于-Ttext的任何信息。任何人都知道解决这个问题,而不使用虚拟linux系统?一定有办法。

objcopy也不起作用。

+3

我不知道为什么你认为必须有一种方式。苹果不鼓励这样的事情。你打算在哪里运行这个程序?你有没有考虑GNU BinUtils是否可以在macOS(Mac OS X)上进行编译?我最近没有尝试过;我不记得我过去是否尝试过。 –

+0

谢谢,我看着它 –

回答

相关问题