词条 | atexit |
释义 | 函数名: atexit 头文件:#include<stdlib.h> 功 能: 注册终止函数(即main执行结束后调用的函数) 用 法: int atexit(void (*func)(void)); 注意:按照ISO C的规定,一个进程可以登记多达32个函数,这些函数将由exit自动调用。atexit()注册的函数类型应为不接受任何参数的void函数,exit调用这些注册函数的顺序与它们 登记时候的顺序相反。同一个函数如若登记多次,则也会被调用多次。 程序例: #include <stdio.h> #include <stdlib.h> void exit_fn1(void) { printf("Exit function #1 called\"); } void exit_fn2(void) { printf("Exit function #2 called\"); } int main(void) { /* post exit function #1 */ atexit(exit_fn1); /* post exit function #2 */ atexit(exit_fn2); return 0; } 输出: 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 <stdlib.h? void exit (int status); void _Exit (int status); #include <unistd.h> void _exit (status); 其中调用 _exit,_Exit 都不会调用终止程序 异常终止也不会。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。