谁调用C中的主函数



可能重复:
在C中,main()方法最初是如何调用的?

我想知道,谁调用C中的主函数。
主功能的实际用途是什么(为什么主功能是特殊的/必要的)
我能写一个没有主函数的c程序吗?

main函数在实践中由C运行时调用。

您可以在没有main的情况下编写程序,但必须有一个入口点。不同的操作系统允许您为程序指定不同的入口点,但它们都与main具有相同的用途。在Windows上,您可以使用WinMain。在Linux上,您可以在没有CRT的情况下进行链接,并定义自己的_start函数(但它不能返回!)

一个没有入口点的程序就像一辆没有轮子的汽车:它哪儿也去不了。

当您要求操作系统运行一个文件时,它会将其加载到内存中,并跳到它的起点(_start等)。此时,有一个代码,调用main,然后退出(链接器负责此部分)。如果你要编写没有main函数的程序,链接器会给你一个错误,因为它找不到它。

您的程序(捆绑在函数中的一系列代码)必须有一个起点,对吗?

必须先调用一些东西才能运行其余部分。

因此,起点是main,它由O/S中的父进程调用(无论是什么),并让您的程序运行

最简单的答案是:程序的用户在启动应用程序时调用主函数。你用过指挥终端吗?如果你有,你就会知道你可以把参数传递给一个命令。例如:
$ grep word myfile

下面的内容是终端查看您键入的内容,然后调用grep程序的main方法,并将[word, myfile]作为第二个参数传递给该方法。这是一种简化,但我希望它能有所帮助。

相关内容

  • 没有找到相关文章