abort()和exit()的区别

来源:互联网 发布:航海王娜美工口h本子 编辑:程序博客网 时间:2024/05/16 15:23
exit和abort都是用来终止程序的函数,他们的不同如下:

exit会做一些释放工作:释放所有的静态的全局的对象,缓存,关掉所有的I/O通道,然后终止程序。如果有函数通过atexit来注册,还会调用注册的函数。不过,如果atexit函数扔出异常的话,就会直接调用结束。

abort:立刻结束程序,没有任何清理工作。


百度上是这么解释abort的:

abort()函数首先解除进程对SIGABRT信号的阻止,然后向调用进程发送该信号。

abort()函数会导致进程的异常终止除非SIGABRT信号被捕捉并且信号处理句柄没有返回。

6 0
原创粉丝点击