原文链接:https://blog.csdn.net/youshaoduo/article/details/53691054
exit和abort都是用来终止程序的函数,他们的不同如下:
exit会做一些释放工作:释放所有的静态的全局的对象,缓存,关掉所有的I/O通道,然后终止程序。如果有函数通过atexit来注册,还会调用注册的函数。不过,如果atexit函数扔出异常的话,就会直接调用结束。
abort:立刻结束程序,没有任何清理工作。
百度上是这么解释abort的:
abort()函数首先解除进程对SIGABRT信号的阻止,然后向调用进程发送该信号。
abort()函数会导致进程的异常终止除非SIGABRT信号被捕捉并且信号处理句柄没有返回。