atexit

更新时间:2024-09-10 10:59

按照ISO C的规定,一个进程可以登记至少32个函数,这些函数将由exit自动调用。atexit()注册的函数类型应为不接受任何参数的void函数。

函数介绍

函数名: atexit

头文件:#include

功 能: 注册终止函数(即main执行结束后调用的函数)

用 法: void atexit(void (*func)(void));

注意:exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。

程序例

输出:

Exit function #2 called

Exit function #1 called

进程的终止方式:

有8种方式使进程终止,其中前5种为正常终止,它们是

1:从 main 返回

2:调用 exit

3:调用 _exit 或 _Exit

4:最后一个线程从其启动例程返回

5:最后一个线程调用pthread_exit

异常终止有3种,它们是

6:调用 abort

7:接到一个信号并终止

8:最后一个线程对取消请求做出响应

#include

void exit (int status);

void _Exit (int status);

#include

void _exit (status);

其中调用 _exit,_Exit 都不会调用终止程序

异常终止也不会。

调用顺序

在atexit(f)调用之前被静态分配的对象的析构函数将在f()的调用之后被调用。在一个atexit(f)调用之后建立的这种对象的析构函数将在f的调用之前被调用。引自《The C++ Programming Language》(Bjarne Stroustrup)

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}