可能重复:
在C中,main()方法最初是如何调用的?
我想知道,谁在C中调用主函数
什么是主要function的实际使用(为什么主要是特殊的/必要的)?
我可以用主函数写出ac程序吗?
当你要求你的操作系统运行一个文件时,它会把它加载到内存中,然后跳转到起始点( _start
等)。 在这一点上,有一个代码,调用main
然后退出(链接器负责这个部分)。 如果你不用main
函数编写程序,链接器会给你一个错误,因为找不到它。
main
功能在实际中被C运行时调用。
你可以编写一个没有main
的程序,但是它必须有一个入口点。 不同的操作系统允许你为你的程序指定不同的入口点,但是它们都与main
相同。 在Windows上,您可以使用WinMain
。 在Linux上,你可以连接没有CRT和定义你自己的_start
函数(但它不能返回!)
没有切入点的程序就像一辆没有车轮的汽车:它不会去任何地方。
你的程序(这是一系列函数内部捆绑的代码)必须要有一个起点吗?
必须首先调用其他东西才能运行。
所以,这个起点是main
,在你的O / S中被父进程所调用(这是什么),让你的程序运行
最简单的答案是:程序的用户在启动应用程序时调用主函数。 你有没有使用过指挥终端? 如果你有,你会知道你可以传递参数给一个命令。 例如:
$ grep word myfile
下面介绍的是Terminal查看你输入的内容,然后调用grep程序的main
方法,并将[word, myfile]
作为第二个参数传递给这个方法。 这是一个简化,但我希望它可以帮助。