【发布时间】:2009-04-21 09:35:35
【问题描述】:
我有一个汇编文件和一个编译为 .o 文件(start.o 和 main.o)的 c 文件,并试图将它们与 ld 链接。我正在使用这个命令:
ld -T link.ld -o kernel.bin start.o main.o
link.ld 是一个链接器脚本,但是当我运行它时,我得到了这个错误:
start.o:start.o:(.text+0x2d): undefined reference to `_main'
在汇编文件中,我用这个函数调用c文件:
stublet:
extern _main
call _main
jmp $
任何人都可以看到什么是错的?
【问题讨论】:
-
链接描述文件有什么用?
-
@pjc50 这段代码看起来和我现在工作的一样。基本内核开发教程。 osdever.net/bkerndev/Docs/creatingmain.htm相关页面。