我正在关注此tutorial并且在某些时候我应该使用ld
链接多个对象,但是当我尝试使用此命令链接它们时:
ld -T link.ld -o kernel.bin start.o main.o scrn.o -melf_i386
...我得到Segmentation fault (core dumped)
。
当我使用时:
ld -T link.ld -o kernel.bin start.o main.o -melf_i386
... ld
成功链接了对象。
这就是我用来编译文件的内容:
nasm -f elf -o start.o start.asm
gcc -m32 -Wall -O -fstrength-reduce -fno-pie -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -c -o main.o main.c
gcc -m32 -Wall -O -fstrength-reduce -fno-pie -fomit-frame-pointer -finline-functions -nostdinc -fno-builtin -c -o scrn.o scrn.c