Ao usar ld para vincular, referência indefinida a '__main'

/* test.c */

void func1()
{

}

int main()
{
   func1();
}

Olá, estou criando código do kernel usando C. Mas testei o código acima para saber como criar o código C do kernel. Abaixo o comando é o que eu dei para solicitar. Estou usando o MinGW no Windows 8.1.

gcc -c -m32 test.c
ld -o test -Ttext 0x00 -e _main test.o

Mas esse erro ocorreu no ld.

test.o:test.c:(.text+0x7): undefined reference to `__main'

Então, eu tentei de maneira diferente. adicione a opção -nostdlib e --freestanding ao gcc. Mas o resultado foi o mesmo. __Main está em CRT0? O que devo fazer para resolver este problema ..?

questionAnswers(2)

yourAnswerToTheQuestion