C++ abort 函数
对于一个用C++写的程序,被加载至内存后运行,最终走向死亡。程序的死亡大致有三种:
- 自然死亡,即无疾而终,通常就是main()中的一个return 0;
- 自杀,当程序发现自己再活下去已经没有任何意义时,通常会选择自杀。当然,这种自杀也是一种请求式的自杀,即请求OS将自己毙掉。有两种方式:void exit(int status)和void abort(void)。
- 他杀,同现实不同的是,程序家族中的他杀行径往往是由自己至亲完成的,通常这个至亲就是他的生身父亲(还是母亲?)。C++并没有提供他杀的凶器,这些凶器往往是由OS直接或者间接(通过一些进程库,如pthread)提供的。
自然死是最完美的结局,他杀是我们最不愿意看到的,自杀虽是迫不得已,但主动权毕竟还是由程序自己掌控的;abort被调用时,程序将直接退出,任何对象的析构函数都不会调用
函数名: abort
头文件:#include <stdlib.h>
功 能: 异常终止一个进程。中止当前的过程,返回一个错误代码。错误代码的缺省值是3
中止一个程序异常终止的过程。
该函数产生SIGABRT信号,默认情况下导致程序终止不成功的终止错误代码返回到主机环境。
自动或静态存储持续时间的对象,而无需调用任何atexit函数,析构函数不执行程序终止。函数永远不会返回到其调用者。
用 法: void abort(void);