atexit函数:注册终止处理程序

来源:互联网 发布:华莱士采访江 知乎 编辑:程序博客网 时间:2024/05/18 01:23

功能:注册终止处理回调函数

注:最多可注册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)

0 0
原创粉丝点击