在Linux中,

编程入门 行业动态 更新时间:2024-10-25 01:22:08

在<a href=https://www.elefans.com/category/jswz/34/1770067.html style=Linux中,"/>

在Linux中,

功能:

  • _exit() :退出程序;
  • exit(0):运行正常退出程序;
  • exit(1):运行异常退出程序;
  • return():返回函数,若在主函数中,则会退出函数并返回值。

_exit() 和 exit() 区别:

  • exit()会将缓冲区的数据写完再结束进程到内核中去(退出进程会清理I/O缓冲区)。
  • _exit() 直接结束进程进入到内核中。
  • exit() 函数定义在 stdlib.h 中,_exit() 定义在 unistd.h 中。

图示:

举例说明:

  • _exit()
#include <stdio.h>
#include <unistd.h>int main(void) { printf("hello\n");printf("OK");	_exit(0);
}

输出结果

hello
  • exit()输出结果输出结果输出结果
#include <stdio.h>
#include <stdlib.h>int main(void) { printf("hello\n");printf("OK");	exit(0);
}

输出结果

hello
OK

 

原因:

printf函数使用的是缓冲I/O的方式,该函数在遇到“\n“换行符时自动的从缓冲区中将记录读出。

exit() 将缓冲区的数据写完后才能退出来,所以调用exit()函数后程序并不会马上退出,会把OK也输出出来。

_exit() 是直接退出进入到内核中了。

 

 

 

exit(0) 和 exit(1) 区别: 

  • exit(0):运行正常退出程序;
  • exit(1):运行异常退出程序,返回值1是返回给操作系统的;

 

 return 和 exit() 区别:

  • return 是关键字;exit() 是函数。
  • return 是语言级别的,表示调用堆栈的返回;而 exit() 是系统调用级别的,表示进程的结束。
  • return 是退出(返回)函数,将控制权移交给递归的前一级;exit() 是直接退出进程。
  • 在最初调用的main函数中调用return和exit的现象很模糊,非主函数中调用return和exit效果很明显。

 

参考:

linuxC库函数_exit和exit的区别_勤学-365的博客-CSDN博客

Exit()_360百科 

exit(0)与exit(1),return三者区别(详解) - Angel_Kitty - 博客园

更多推荐

在Linux中,

本文发布于:2023-06-12 05:16:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/652019.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!