我决定编写一个简单的 asm 引导加载程序和一个 c++ 内核。我阅读了很多教程,但我无法编译汇编文件,看起来像这样:
[BITS 32]
[global start]
[extern _k_main]
start:
call _k_main
cli
hlt
(我想从 c 文件中调用 th 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
有人给我一个工作示例或说如何编译。:/(我正在浏览教程并在 2 天前提供帮助,但找不到正确答案)