2

OSをゼロから作成する方法に関するチュートリアルに従っています。私は C でコードを書き始める必要があるところですが、それをフリースタンディングモードで生のバイナリにコンパイルする必要があります。与えられたコマンドは次のとおりです。

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

最初のコマンドは機能しますが、2 番目のコマンドは機能しません。OSX のリンカは -Ttext について何も知りません。仮想Linuxシステムを使用せずにこれを回避する方法を知っている人はいますか? 方法があるはずです。

objcopy も機能しません。

4

1 に答える 1

2

homebrew を使用して 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 に答える