return、exit、_exit的区别
程序员文章站
2022-07-13 23:33:44
...
1.atexit注册进程终止处理函数,在进程结束时,atexit注册的函数会被执行。
2.atexit注册多个进程终止处理函数,先注册的后执行(先进后出,和栈一样)
3.return、exit和_exit的区别:return和exit效果一样,都是会执行进程终止处理函数,但是用_exit终止进程时并不执行atexit注册的进程终止处理函数。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void func1(void)
{
printf("func1\n");
}
void func2(void)
{
printf("func2\n");
}
int main(void)
{
printf("hello world.\n");
// 当进程被正常终止时,系统会自动调用这里注册的func1执行
atexit(func2);
atexit(func1);
printf("my name is lilei hanmeimei\n");
//return 0;
//exit(0);
_exit(0); //注意观察_exit(0);和return 0;exit(0);的不同表现
}
推荐阅读
-
C++ 中exit(),_exit(),return,abort()函数的区别
-
php中跳出函数break,continue,exit的使用与区别
-
return 跟echo的区别
-
Oracle 中的GOTO,RETURN,EXIT
-
PHP中return 和 exit 、break和contiue 区别与用法_PHP教程
-
php 中 return exit break contiue 详解
-
PHP的几个程序停止关键字break,return,exit
-
Process finished with exit code -1073741571 (0xC00000FD)的解决方案
-
php进行支付宝开发中return_url和notify_url的区别分析
-
浅析echo(),print(),print_r(),return之间的区别_PHP