C++ Builder 参考手册 ➙ <cstdlib> ➙ abort
头文件:#include <cstdlib>
命名空间:std
函数原型:
void abort(void);
参数:
无。
返回值:
无。
- 程序异常结束,通知操作系统程序由于有错误而结束,并且显示程序异常结束的提示信息;
- abort 函数是通过调用 exit(3); 实现的;
- C++ Builder 的 System::Sysutils 里面有一个 Abort 函数,是抛出 EAbort 异常,与这个函数的功能不同,虽然只是函数名的开头字母大小写不同。
- 无论在程序的哪个位置调用了 std::abort 函数,程序都会异常结束,没有任何析构函数被调用,包括全局变量的析构函数。
以下表格为程序测试结果:
退出时执行的函数 | 执行 std::abort | 执行 std::exit |
---|---|---|
使用 std::atexit 添加的函数 | [ ] |
[√] |
使用 Sysutils::AddExitProc 添加的函数 | [ ] |
[√] |
使用 Sysutils::AddTerminateProc 添加的函数 | [ ] |
[ ] |
使用 #pragma exit 添加的函数 | [ ] |
[√] |
当前函数局部变量的析构函数 | [ ] |
[ ] |
主窗口析构函数 | [ ] |
[√] |
全局变量析构函数 | [ ] |
[√] |
例子:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
std::abort();
}
运行结果:
相关:
C++ Builder 参考手册 ➙ <cstdlib> ➙ abort