在C中,缺少“主要进程结束”之间的链接,以“调用Atexit注册的任何功能”
题
在C中,当主要过程结束时 - 如何调用注册的任何功能 atexit()
?
我了解如何 atexit()
作品,但我不理解“主要过程结束”和“调用任何注册的功能之间的通信 atexit()
“我有点多余。
谢谢!
解决方案
从 C标准 PDF链接](5.1.2.2.3):
从初始电话回到
main
功能等同于调用exit
功能,返回的值main
作为其论点的作用;到达}
终止主函数将返回一个值0
.
这是 exit
调用注册的功能 atexit
(有关所有内容的描述,请参见标准中的7.20.4.3 exit
做)。
其他提示
在C中, main()
函数实际上是由某些其他函数调用的,该功能是在运行时内置的。此功能,之后 main()
功能结束,做更多的事情要清理。其中之一是调用已注册的任何功能 atexit()
. 。此功能实际上存储了某种静态函数指针列表,该函数将在运行时调用 main()
.
不隶属于 StackOverflow