为什么在指定C文件作为输入的一部分时,GCC是否需要WinMain入口点?

时间:2016-12-12 18:17:09

标签: c windows gcc mingw

  

为什么在指定C文件作为输入的一部分时,GCC是否需要WinMain入口点?

我有一个名为qt2.s的小型程序集文件,只需添加一对整数。此文件具有tigermain作为全局符号(文件的功能)。

如果我尝试自己编译此文件,则会收到以下错误:

C:\dev\MinGWx64\bin>gcc-4.8.3.exe qt2.o -o qt2.exe
c:/dev/mingwx64/bin/../lib64/gcc/x86_64-w64-mingw32/4.8.3/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x25): undefined reference to `WinMain'
collect2.exe: error: ld returned 1 exit status

GCC的C运行时无法找到全局符号WinMain

但是,如果我输入:

C:\dev\MinGWx64\bin>gcc-4.8.3.exe runtime.c qt2.s -o qt2.exe

一切正常。这里runtime.c是一个普通的C文件,包含声明:int tigermain(void *, int64_t);

0 个答案:

没有答案