欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

理解程序退出与atexit函数的作用

最编程 2024-01-15 17:33:37
...

1、背景
对C语言有所了解的人,都知道main函数是整个程序的入口。
但是其实不是,在内核中可以使用链接器来设置程序的开始地方。如下:
当内核使⽤⼀个exec函数执⾏C程序时,在调⽤main函数之前先调⽤⼀个特殊的启动例程。可执⾏程序文件将此启动例程指定为程序的起始地址(这是由连接编辑器设置的,而连接编辑器则由C编辑器调用)。
启动例程从内核获取命令⾏参数和环境变量,然后为调⽤main函数做好准备。
2、atexit
前面我们关注的是程序开始进入时的调用函数,而atexit函数是一个特殊的函数,它是在正常程序退出时调用的函数,我们把他叫为登记函数(函数原型: int atexit (void (*)(void))

推荐阅读