単純なasmブートローダーとc++カーネルを作成することにしました。チュートリアルをたくさん読みましたが、アセンブリファイルをコンパイルできません。次のようになります。
[BITS 32]
[global start]
[extern _k_main]
start:
call _k_main
cli
hlt
(cファイルからk_main関数を呼び出したい)
コンパイル/アセンブル/リンクエラー:
nasm -f bin -o kernelstart.asm -o kernelstart.bin:
error: bin file cannot contain external references
では、.oファイルを作成してみました。
nasm -f aout -o kernelstart.asm -o kernelstart.o (That's right)
ld -i -e _main -Ttext 0x1000 kernel.o kernelstart.o main.o
error: File format not recognized
誰かが私にplzの実用的な例を教えてくれるか、コンパイル方法を教えてくれます。:/(チュートリアルを閲覧していて、2日前に役立ちましたが、正しい答えが見つかりません)