Ich habe eine Assembly-Datei und eine c-Datei kompiliert zu .o-Dateien (start.o und main.o) und versucht, sie mit ld zu verknüpfen. Ich verwende diesen Befehl ein:ld kann keine c-Datei finden
ld -T link.ld -o kernel.bin start.o main.o
wo link.ld eine Linker-Skript ist, aber wenn ich es laufen lasse, erhalte ich diese Fehlermeldung:
start.o:start.o:(.text+0x2d): undefined reference to `_main'
in der Baugruppendatei, nenne ich die c Datei mit dieser Funktion:
stublet:
extern _main
call _main
jmp $
Jeder kann sehen, was los ist?
Für was ist das Linker-Skript? – pjc50
@ pjc50 Dieser Code sieht so aus, als würde ich jetzt arbeiten. Ein Tutorial zur grundlegenden Kernel-Entwicklung. http://www.osdever.net/bkerndev/Docs/creatingmain.htm Für die relevante Seite. – Chris