Bei Verwendung von ld zum Verknüpfen undefinierter Verweis auf '__main'
/* test.c */
void func1()
{
}
int main()
{
func1();
}
Hallo, ich mache Kernel-Code mit C. Aber ich habe den obigen Code getestet, um zu wissen, wie man C-Kernel-Code erstellt. Unter Befehl ist, was ich gab, um aufzufordern. Ich verwende MinGW unter Windows 8.1.
gcc -c -m32 test.c
ld -o test -Ttext 0x00 -e _main test.o
Aber dieser Fehler ist von ld aufgetreten.
test.o:test.c:(.text+0x7): undefined reference to `__main'
So habe ich anders probiert. füge -nostdlib und --freestanding option zu gcc hinzu. Das Ergebnis war jedoch dasselbe. Ist die Hauptfunktion in CRT0? Was soll ich tun, um dieses Problem zu lösen?