Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';linux中GUI程序的入口点是什么?_Linux_User Interface - Fatal编程技术网

什么';linux中GUI程序的入口点是什么?

什么';linux中GUI程序的入口点是什么?,linux,user-interface,Linux,User Interface,在windows中,它是WinMain的 linux中是什么 或者它仍然是main?Windows PE(可移植可执行文件)格式的标题中有一个标志,表明可执行文件是控制台还是窗口化的。Windows将根据应用程序分配控制台窗口,也可以不分配。这还确定入口点是main还是WinMain Linux ELF格式没有类似的标志。入口点总是main。“控制台窗口”的概念在Linux中完全不同 (请注意,上述内容在某种程度上简化了问题,因为您所说的入口点是用户代码的起点。编译器/链接器始终提供一些在调用用

在windows中,它是WinMain的

linux中是什么

或者它仍然是
main

Windows PE(可移植可执行文件)格式的标题中有一个标志,表明可执行文件是控制台还是窗口化的。Windows将根据应用程序分配控制台窗口,也可以不分配。这还确定入口点是
main
还是
WinMain

Linux ELF格式没有类似的标志。入口点总是
main
。“控制台窗口”的概念在Linux中完全不同


(请注意,上述内容在某种程度上简化了问题,因为您所说的入口点是用户代码的起点。编译器/链接器始终提供一些在调用用户入口点之前运行的运行时库启动代码,而用户入口点才是真正的入口点。)

这完全取决于您使用的GUI库。C程序(在托管模式下)的入口点始终是main(通常,它位于C启动代码中,用于配置内容,然后调用main,代码从这里开始)

有些环境提供了自己版本的
main
来在调用代码之前进行设置。但是,and(作为两个示例)仍然使用
main
,您需要自己设置环境。

是的,它始终是main()

Linux本身并不区分GUI和非GUI程序,它的可执行文件中没有“这是一个控制台应用程序”或“这是一个窗口应用程序”的标志


严格地说,入口点不是main(),而是_start或其他什么。但是,如果您链接的是标准C库或它的某个变体,按照C语言的惯例,它往往是main()。

您使用的GUI库是什么?这取决于库…以及您使用的linux版本/发行版。