功能:注册终止处理回调函数
注:最多可注册32个终止处理回调函数,回调函数的调用和注册次序相反。
原型:
int atexit(void (*function)(void))
#include <stdlib.h>
示例:
#include <iostream>
#include <stdlib.h>
using namespace std;
void on_exit1(void)
{
cout<<__FUNCTION__<<endl;
}
void on_exit2(void)
{
cout<<__FUNCTION__<<endl;
}
int main(int args, char* argv[])
{
atexit(on_exit1);
atexit(on_exit2);
cout<<__FUNCTION__<<endl;
return 0;
}
运行结果:
可以做一些清除工作在on_exit回调函数中,以防止程序异常退出时有一些资源未清除掉(比如,有些server端进程,莫名其妙断掉后,导致还在占用端口,在on_exit进程退出处理回调函数中做一些这样断掉监听的清理工作)。
(END)