Function 主程序
在C语言中没有主程序。当然,C程序员从int main(int argc char*argv[])开始,但这只起作用,因为有一个例程告诉编译器/IDE首先运行名为main的函数Function 主程序,function,compiler-construction,mingw,startup,main,Function,Compiler Construction,Mingw,Startup,Main,在C语言中没有主程序。当然,C程序员从int main(int argc char*argv[])开始,但这只起作用,因为有一个例程告诉编译器/IDE首先运行名为main的函数 不过,我似乎在MinGW找不到这种惯例。它的定义是什么?我只是搜索,因为我想改变它(只是作为一个测试)和玩它一点。有人能将我链接到MinGW文件夹中的正确文件吗?链接器将查找几个符号中的一个匹配项,以在链接PE文件时用作入口点: entry point subsystem -----------
不过,我似乎在MinGW找不到这种惯例。它的定义是什么?我只是搜索,因为我想改变它(只是作为一个测试)和玩它一点。有人能将我链接到MinGW文件夹中的正确文件吗?链接器将查找几个符号中的一个匹配项,以在链接PE文件时用作入口点:
entry point subsystem
--------------------- --------------
NtProcessStartup native
WinMainCRTStartup Windows GUI
mainCRTStartup Windows CUI (console)
__PosixProcessStartup POSIX CUI
WinMainCRTStartup WinCE GUI
mainCRTStartup Xbox
mainCRTStartup other
DllMainCRTStartup@12 (or possibly DllMainCRTStartup) for DLLs
MinGW将有一个自动链接的对象文件,该文件具有实际的PE入口点。-通过使用gcc的-v
选项,您可以看到正在自动链接的对象文件
在使用MinGW 4.6.1构建控制台子系统“hello world”程序的快速测试中,包含入口点的目标文件是crt2.o
,它有一个符号mainCRTStartup
,链接器将其作为入口点
包含入口点代码的源文件是crtexe.c
(或crtdll.c
)
您可以使用链接器的
--entry
选项覆盖入口点(Wl,--entry=which
,当在gcc命令行上使用时)。谢谢!我会和gcc玩一会儿。