代码改变世界

exit和_exit函数

2012-01-31 16:43  听雨到天明  阅读(293)  评论(0编辑  收藏  举报

痛苦的学习linux中。

 

exit函数在stdlib.h头文件中,是iso c中的一个函数。

_exit函数在unistd.h头文件中,是linux提供的一个系统调用。

 

exit和_exit函数的几个区别

1. exit函数会关闭所有打开的io流,并冲洗。 而_exit函数是不是这么做取决于系统的实现(书上说大部分的系统中_exit函数并不会主动关闭io流)。

2. exit函数会首先调用atexit()函数所注册的所有函数。 而_exit函数并不管atexit()所注册的那些东西。

所以,一旦使用atexit()注册了函数的话,使用_exit来终止main函数就会失效了