这段代码可以编译通过,但不出意外地,在链接时失败了(找不到main函数):
代码清单1:
void main();
链接错误:\mingw\lib\libmingw32.a(main.o):main.c:(.text+0x106) 对 _WinMain@16 的引用未定义
但是,下面的代码可以编译和链接成功,并出现警告:
代码清单2:
void (*main)();
警告:'main'通常是一个函数
问题:
在代码清单1中,链接器应该报告缺少"main"。为什么它在寻找"_WinMain@16"?
从代码清单2生成的可执行文件会崩溃。原因是什么?
感谢您的时间。
void (*main)();
执行了一个空指针(如果这是你完整的代码)。 - Mawg says reinstate Monica