Как скомпилировать C в сырой двоичный файл в OSX?

Я следую учебнику о том, как создать ОС с нуля. Я нахожусь в точке, где мне нужно начать писать код на C, но мне нужно скомпилировать его в автономном режиме в необработанный двоичный файл. Команды даны:

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

Первая команда работает, вторая - нет. Компоновщик OSX ничего не знает о -Ttext. Кто-нибудь знает способ обойти это без использования виртуальной системы Linux? Должен быть способ.

objcopy тоже не работает.

1 ответ

Я скачал утилиты GNU, используя homebrew, и он пришел с 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
Другие вопросы по тегам