LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 842|回复: 3

关于_exit 和 exit 的问题

[复制链接]
发表于 2006-2-28 10:57:08 | 显示全部楼层 |阅读模式
最近在看APUE,书上有个例子如下:
#include <sys/type.h>;
#include <stdio.h>;
#include <unistd.h>;
int main(void)
{
         int var = 6;
         pid_t pid;
         printf("before vfork\n");
         pid = vfork()                  
         if (pid == 0)    /*child*/
          {
             var++;
             _exit(0);
          }  
         /* parent */  
         printf(" var = %d \n", var);
         exit(0);
}
当我将 _exit 改为 exit, 结果并不是像书上说的只有一行输出: before vfork。
我发现无论是使用_exit还是exit结果都是一样的。
我的环境是FC3,请各位指点一下。
发表于 2006-2-28 16:28:10 | 显示全部楼层
The function _exit() is like exit(), but does not  call  any  functions
       registered with atexit() or on_exit().
你的程序没atexit也没on_exit,没区别也是应该的吧
回复 支持 反对

使用道具 举报

发表于 2006-2-28 16:58:15 | 显示全部楼层
请看MSDN有说明的
回复 支持 反对

使用道具 举报

发表于 2006-2-28 19:24:36 | 显示全部楼层
将 _exit 改为 exit, 程序行为未定义.

参看 http://www.linuxeden.com/forum/showthread.php?p=519344#post519344
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表