原文鏈接:https://blog.csdn.net/youshaoduo/article/details/53691054
exit和abort都是用來終止程序的函數,他們的不同如下:
exit會做一些釋放工作:釋放所有的靜態的全局的對象,緩存,關掉所有的I/O通道,然後終止程序。如果有函數通過atexit來註冊,還會調用註冊的函數。不過,如果atexit函數扔出異常的話,就會直接調用結束。
abort:立刻結束程序,沒有任何清理工作。
百度上是這麼解釋abort的:
abort()函數首先解除進程對SIGABRT信號的阻止,然後向調用進程發送該信號。
abort()函數會導致進程的異常終止除非SIGABRT信號被捕捉並且信號處理句柄沒有返回。