C语言中exit(0)与exit(1)的区别

C语言中_exit(),exit(0)与exit(1)有什么区别
今天天气有点冷,当我在写消息队列的程序的时候,遇到了结束进程的这个问题,突然脑海里有点混乱,我是用_exit(),还是用exit(1),还是用exit(0)呢,然后自己度娘了一下,整理了一下稍微做了一个总结吧。

_exit();和exit()主要区别是一个退出进程会清理I/O缓冲区,一个直接结束进程进入到内核中。

下面我就举个例子说明下吧,

int main()

{

printf("is ok\n");

printf("I am a chinese people");

_exit(0);

}

这个程序输出的结果是:is ok

int mian()

{

printf("is ok\n");

printf("I am a chinese people");

exit(0);

}

这个程序输出的结果是:is ok 

I am a chinese people

当时把第二个输出信息后面加一个"\n";两个程序的结果都会输出相同的结果,两个打印信息都会打印出来。

在这里我总结了一下原因吧,可能只是一个小细节,以后大家遇到同样的问题注意下就行了

原因如下:

printf函数就是使用的是缓冲I/O的方式,该函数在遇到“\n“换行符时自动的从缓冲区中将记录读出。所以exit()将缓冲区的数据写完后才能退出来,所以调用exit()函数后程序并不会马上退出,这就是有些出现的僵尸程序,而_exit是直接退出进入到内核中去。

  return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。

  return是返回函数调用,如果返回的是main函数,则为退出程序   
  exit是在调用处强行退出程序,运行一次程序就结束   
  -------------------------------------------------------------------   
  return是返回 , 函数返回   
  而exit是退出   
  -------------------------------------------------------------------   
  exit(1)表示异常退出.这个1是返回给操作系统的不过在DOS好像不需要这个返回值   
  exit(0)表示正常退出   
  -------------------------------------------------------------------   
  无论写在那里,都是程序退出,dos和windows中没有什么不一样,最多是系统处理的不一样。   
  数字0,1,-1会被写入环境变量ERRORLEVEL,其它程序可以由此判断程序结束状态。   
  一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。   
  -------------------------------------------------------------------   

进程终止有5种方法:

1正常终止

(1)从main函数返回

(2)调用exit

(3)调用_exit

2异常终止

(1)调用abort

(2)由一个信号来终止

  返回给操作系统的,0是正常退出,其他值是异常退出,在退出前可以给出一些提示信息,或在调试程序中察看出错原因.

这就是我在写消息队列程序的时候遇到的一点混乱和疑惑的盲点,做了下个人的总结,希望有同样盲点的IT人士参考过后对你有帮助

谢谢!

转载自https://blog.youkuaiyun.com/yyfwd/article/details/50548359

Vivado是赛灵思公司(Xilinx)开发的一款用于可编程逻辑的设计开发环境。下面是Vivado 2019.1版本的安装教程: 1. 首先,从赛灵思官网下载Vivado Design Suite的安装文件。这个文件是一个压缩包,将其解压缩到一个你要安装Vivado的目录下。 2. 进入解压缩后的文件夹,在其中找到一个运行文件,通常命名为"xsetup.exe"或者"xsetup.bat",双击运行。 3. 运行这个文件后,会打开一个安装向导。首先,选择你要安装的版本,确保选择的是Vivado Design Suite 2019.1版本。 4. 点击"Next"继续,阅读并接受授权协议,然后再次点击"Next"。 5.安装选项中,你可以选择安装的组件,这些组件包括Vivado Design Suite本身、帮助文档和附加功能。根据你的需要选择所需组件,然后点击"Next"。 6. 接下来,选择安装路径。默认情况下,Vivado安装在"C:\Xilinx\Vivado\2019.1"目录下,但你可以选择安装到其他目录。点击"Next"继续。 7. 在"Connection Type"选择中,选择"WebTalk"以便与赛灵思服务器进行交互,这将使你能够通过Vivado软件访问在线资源和更新。然后继续点击"Next"。 8. 在"User Profile"选择中,选择一个用户级别,通常选择"Typical"以获取常用的功能和工具。然后点击"Next"。 9. 查看并确认安装设置,确保没有问题后点击"Next"。 10. 等待安装过程完成,这可能需要一段时间,取决于你的计算机硬件和网络速度。 11. 安装完成后,点击"Finish"退出安装向导。 12. 现在,你可以通过开始菜单或桌面快捷方式打开Vivado Design Suite 2019.1,并开始使用它进行可编程逻辑的设计和开发。 这就是Vivado 2019.1安装教程。希望对你有所帮助!
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值