Este código se compila, pero no hay sorpresas, se produce un error durante el enlazado (sin principales que se encuentran):En C, principal no necesita ser una función?
Listado 1:
void main();
Error de enlace: \ MinGW \ lib \ libmingw32.a (principal. o):. main.c :(texto + 0x106) referencia indefinida a _WinMain @ 16'
embargo, el código de abajo compila y enlaza muy bien, con una advertencia:
Listado 2:
void (*main)();
advertencia: 'principal' es por lo general una función
Preguntas:
en el Listado 1, enlazador debe tener se quejaron de falta "principal". ¿Por qué está buscando _WinMain @ 16?
El ejecutable generado a partir de lista 2 simplemente se bloquea. ¿Cuál es el motivo?
Gracias por su tiempo.
Se bloquea porque la desfiltración 'void (* main)();' ejecuta un puntero NULL (si ese es su código completo) – Mawg