函数atexit

  按照ISO C的规定,一个进程可以登记32个终止处理程序(exit handler),这些终止处理程序(即函数)将由exit自动调用,在exit自动调用之前,需要使用atexit函数登记这些函数。

  以下是各实现提供的终止处理程序个数限制:

限制FreeBSD 8.0Linux 3.2.0Mac OS X 10.6.8Solaris 10
ATEXIT_MAX3221474836472147483647无限制

  atexit函数原型:

#include<stdlib.h>

int atexit(void (*func)(void));

其中atexit的参数是一个函数地址,该函数无需向它传递参数,也不期望返回一个值。exit调用终止处理函数的顺序和atexit登记的顺序相反,如果一个函数被多次登记,也会被多次调用。

 

注:main函数返回一个整型值与用该值调用exit是等价的,即:

exit(0);

等价于

return 0;

 但与return不同的是,exit()可在非main函数中结束程序/进程

 

转载于:https://www.cnblogs.com/wanfeng-42/p/8611106.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值