Chinaunix首页 | 论坛 | 博客
  • 博客访问: 301416
  • 博文数量: 54
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 606
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 22:43
文章分类
文章存档

2011年(3)

2010年(26)

2009年(2)

2008年(23)

我的朋友

分类: C/C++

2008-11-24 15:46:10

1:
Exit()_exit()用于正常终止一个程序,_exit()立即进入内核,而exit()先执行一些清除处理,所有文件关闭出内容将刷新定,并用所有已刷新的出口函数(由atexit)。‘exit()’‘_exit()’有不少区在使用‘fork()’,特‘vfork()’时变很 突出。‘exit()’‘_exit()’的基本区在于前一个施与里用态结(user-mode constructs)的清除工作(clean-up),而且用用自定的清除程序
(
者注:自定清除程序由atexit函数定,可定多次,并以倒序),相 ,后一个函数只为进施内核清除工作。 在由‘fork()’建的子程分支里,正常情况下使用‘exit()’是不正确的,是 因使用它会(者注:stdio: Standard Input Output)冲区被 清空两次,而且临时文件被出乎意料的(者注临时文件由tmpfile函数建 在系统临时下,文件名由系随机生成)。在C++程序中情况会更糟,因(static objects)的析构函数(destructors)可以被错误行。(有一些特殊情 况,比如守程序,它**需要‘_exit()’而不是子程;适用于 大多数情况的基本规则是,‘exit()’一次‘main’函数后只用一次。
)
在由‘vfork()’建的子程分支里,‘exit()’的使用将更加危,因它将影响
程的状
2:
Exit(0): 正常退出,是退出程序,同返回0操作系shell

Exit(1):异常错误使得退出

exit()就是退出,入的参数是程序退出的状态码0表示正常退出,其他表示非正常退出,一般都用-1C里有EXIT_SUCCESSEXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);好一点

3:

Exit()return的区别

一个最大的区就是exit放了所有的源,如果你malloc/new动态内存,free,exit会帮你,return不会.

 

阅读(1057) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~