C++中的exit()函数和abort()函数都用于结束和退出程序,那么这两个函数有什么区别呢?
3个回答
2008-03-26
展开全部
abort()函数通过发出一个SIGABRT信号终止程序的执行。
abort()函数不会清空缓冲区,也没有调用之前用atexit()函数注册的清理函数。
exit()函数结束程序,返回一个值给操作系统,告知程序的最后状态。在调用exit()函数之后,控制权会移交给操作系统。
在结束程序之前,exit()函数会调用之前使用atexit()注册过的所有函数,按照LIFO次序调用,关闭所有打开的文件,删除tmpfile()函数建立的所有临时文件
abort()函数不会清空缓冲区,也没有调用之前用atexit()函数注册的清理函数。
exit()函数结束程序,返回一个值给操作系统,告知程序的最后状态。在调用exit()函数之后,控制权会移交给操作系统。
在结束程序之前,exit()函数会调用之前使用atexit()注册过的所有函数,按照LIFO次序调用,关闭所有打开的文件,删除tmpfile()函数建立的所有临时文件
参考资料: http://wiki.cprogram.cn/index.php/%E7%BB%93%E6%9D%9F%E7%A8%8B%E5%BA%8F
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询