atexit()
2015-07-23 16:51
155 查看
atexit()函数
在程序退出时经常需要做一些诸如释放资源的操作,但程序退出的方式有很多种。因此需要一种与程序退出方式无关的方法来进行程序退出时的必要处理。atexit()函数用来注册程序正常终止时要被调用的函数。atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数。其原型如下所示:
atexit(void(*)(void));
在一个程序中做多可以用atexit()函数注册32个处理函数,这些处理函数的调用顺序与其注册顺序相反,即最先注册的最后调用,最后注册的最先调用。
如下所示:
#include <STDIO.H> #include <STDLIB.H> void fn1() { printf("calling fn1*****\n"); } void fn2() { printf("calling fn2*****\n"); } int main() { atexit(fn1); atexit(fn2); printf("calling main *****\n"); return 0; } 结果输出: calling main ***** calling fn2***** calling fn1*****
相关文章推荐
- list comprehension & generator expression
- php使用pear mail发送邮件
- 2015年上半年最受欢迎的应用和游戏
- mac 安装client.key.cer、client.key.p12提示不能修改“System Roots”钥匙串
- Android基础_活动_启动模式
- python2.7系列下的print函数使用注意事项
- lightoj 1138 - Trailing Zeroes (III)【二分】
- 最小二乘问题
- iOS单例销毁
- 回调函数
- 堆排序详细分析(算法导论第六章)
- POJ 3620:Avoid The Lakes(DFS)
- EXT3和EXT4两种文件系统比较
- windows 10系统的的贴靠功能该怎么使用?
- Tomcat之——配置项目有虚拟路径
- openCV使用心得
- java异常,java.lang.IllegalStateException,在进行JasperReports导出报表的时候出现的异常
- Android webview实现QQ一键登录授权
- 移动端消息推送原理浅析及问题思考
- C# + Socket断线重连