【发布时间】:2011-04-10 10:06:10
【问题描述】:
嗨,
对于 C、C++、Java 等语言(我熟悉这些),我们通常看到程序执行从 main 方法开始。我想知道编译器如何知道程序中MAIN 方法的存在。
除了它是程序执行的入口点之外,main 方法还意味着什么...这些标准对于 C 和 C++ 有何不同...
提供您认为有帮助的任何链接...
【问题讨论】:
-
在 C/C++ 中,它不会链接到没有 main 的可执行文件,因为运行时调用函数 main() 来启动程序。在 Java 中,它基本上是相同的过程,但在启动时执行。
-
请注意,'main' 仅在默认情况下是特殊的;链接加载器可以选择指定任何函数名称作为入口点。
-
请记住,在 C++ 中,全局变量的构造函数将在 之前
main()执行 -
我想以前有关于这个话题的问题。相当不错的骗子Why the name main for function main(),以及相关的C program without main function ?、main() in C, C++, Java, C#。其他有趣的东西:[是负责设置堆栈的程序还是操作系统](stackoverflow.com/questions/3265057)。