C语言中在main函数之后运行的函数

在 Linux 平台上,atexit 函数同样是一个用于注册终止处理函数的库函数,它是 C 标准库 <stdlib.h> 的一部分。atexit 函数允许你注册一个或多个函数,这些函数会在 main 函数执行结束后,或者在调用 exit 函数时,由 exit 自动调用。这些函数通常用于执行一些清理任务,如关闭文件、释放资源等。

atexit 函数的原型如下:
 

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

它接受一个函数指针作为参数,
该函数指针指向一个没有参数也没有返回值的函数。
注册成功的函数将在程序正常终止时被调用,
调用顺序与它们注册的顺序相反。

在 Linux 平台上使用 atexit 时,需要注意以下几点:

    按照 ISO C 的规定,一个进程可以登记多达 32 个函数用于 atexit。
    如果同一个函数被多次注册,那么它也会被多次调用。
    注册的函数不能带有参数,也不能有返回值。
    注册的函数在 exit 被调用时,会按照它们注册的反向顺序执行。

下面是一个简单的 C 语言示例,演示了如何在 Linux 平台上使用 atexit:

#include <stdio.h>  
#include <stdlib.h>  

void cleanup1() {  
	printf("Cleanup 1 executed\n");  
}  

void cleanup2() {  
	printf("Cleanup 2 executed\n");  
}  

int main(int argc,char *argv[]) {  
	// 注册两个清理函数  
	atexit(cleanup1);  
	atexit(cleanup2);  

	printf("Program is exiting\n");  
	return 0;  
}

:/tmp/temp$ gcc test.c
/tmp/temp$ ./a.out
Program is exiting
Cleanup 2 executed
Cleanup 1 executed

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值