atexit()函数

转载 2013年12月04日 19:56:47
很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束、在程序的某个地方用exit() 结束程序、用户通过Ctrl+C或Ctrl+break操作来终止程序等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就 是用atexit()函数来注册程序正常终止时要被调用的函数。

    atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数。atexit()的函数原型是:int atexit (void (*)(void));

    在一个程序中最多可以用atexit()注册32个处理函数,这些处理函数的调用顺序与其注册的顺序相反,也即最先注册的最后调用,最后注册的最先调用。

下面是一段代码示例:
#include<stdlib.h>   //使用atexit()函数所必须包含的头文件stdlib.h
#include<stdio.h>
void fn1(void);
int main(void)
{
 atexit(fn1);
 printf("a./n");
 return 0;
}
void fn1()
{
 printf("b./n");
}
 输出结果是:

a.

b.

linux中的atexit函数

按照ISO C的规定,一个进程可以登记至少32个函数,这些函数将由exit自动调用。     atexit函数是一个特殊的函数,它是在正常程序退出时调用的函数,我们把他叫为登记函数(函数原型:in...
  • qq_36221862
  • qq_36221862
  • 2017年02月20日 11:40
  • 1145

回收进程用户空间资源 exit()函数 _exit()函数 atexit()函数 on_exit()函数

摘要:本文主要讲述进程的终止方式,以及如何使用exit()函数来终止进程,回收进程用户空间资源;分析了exit()函数与_exit()函数,return关键字的差异.同时详细解读了如何使用atexit...
  • u010006102
  • u010006102
  • 2014年10月03日 11:48
  • 1217

iOS exit函数深入浅出

C,C++函数exit用来终止当前程序,
  • liqinghua1653
  • liqinghua1653
  • 2014年06月05日 09:09
  • 4297

atexit()函数使用说明

摘要:本文描述的是Linux手册页中atexit ()函数的使用说明,使用atexit()函数注册终止处理程序.原文来自:http://www.kernel.org/doc/man-pages/....
  • u010006102
  • u010006102
  • 2014年10月02日 21:43
  • 885

C/C++语言函数学习(1):atexit、exit、return

/*stdlib.h *void exit(int status); *功 能:终止程序 *int atexit(void (*func)(void)); *功 能: 注册终止函数,在ma...
  • callinglove
  • callinglove
  • 2012年10月20日 23:07
  • 1328

_exit( )、exit( )、atexit( )函数比较思考

_exit( )、exit( )、atexit( )函数比较思考
  • Lucien_zhou
  • Lucien_zhou
  • 2017年03月22日 23:26
  • 121

【Linux】linux下atexit()函数的使用

函数名: atexit 头文件:#include 功 能: 注册终止函数 用 法: void atexit(void (*func)(void));        atexit函数是一个特殊的函数...
  • qinghe0808
  • qinghe0808
  • 2017年05月01日 17:58
  • 332

Linux(六):关于atexit函数

atexit()函数的参数是一个函数指针,函数指针指向一个没有参数也没有返回值的函数。 当然atexit函数只有进程退出时,系统自动调用用atexit注册过的函数,注册函数指针指向的回调函数。 很多时...
  • qq_35409955
  • qq_35409955
  • 2017年02月20日 10:04
  • 170

python atexit模块和register函数

模块简介:   从模块的名字也可以看出来,atexit模块主要的作用就是在程序即将结束之前执行的代码,atexit模块使用register函数用于注册程序退出时的回调函数,然后在回调函数中...
  • hwb18253164494
  • hwb18253164494
  • 2016年12月04日 12:26
  • 2427

atexit()函数

按照ISO C规定,一个进程可以登记多至32个函数,这些函数将由exit或者从main函数中返回时自动调用。我们称这些函数为终止处理程序,并调用atexit函数来登记这些函数。 函数原型 int at...
  • f15829107089
  • f15829107089
  • 2017年05月01日 17:31
  • 65
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:atexit()函数
举报原因:
原因补充:

(最多只允许输入30个字)