C++ Builder 參考手冊 ? <cstdlib> ? abort
頭文件:#include <cstdlib>
命名空間:std
函數(shù)原型:
void abort(void);
參數(shù):
無变逃。
返回值:
無圾笨。
- 程序異常結(jié)束绪穆,通知操作系統(tǒng)程序由于有錯誤而結(jié)束,并且顯示程序異常結(jié)束的提示信息找颓;
- abort 函數(shù)是通過調(diào)用 exit(3); 實現(xiàn)的粒竖;
- C++ Builder 的 System::Sysutils 里面有一個 Abort 函數(shù),是拋出 EAbort 異常呻疹,與這個函數(shù)的功能不同吃引,雖然只是函數(shù)名的開頭字母大小寫不同。
- 無論在程序的哪個位置調(diào)用了 std::abort 函數(shù)刽锤,程序都會異常結(jié)束镊尺,沒有任何析構函數(shù)被調(diào)用,包括全局變量的析構函數(shù)并思。
以下表格為程序測試結(jié)果:
退出時執(zhí)行的函數(shù) | 執(zhí)行 std::abort | 執(zhí)行 std::exit |
---|---|---|
使用 std::atexit 添加的函數(shù) | [ ] |
[√] |
使用 Sysutils::AddExitProc 添加的函數(shù) | [ ] |
[√] |
使用 Sysutils::AddTerminateProc 添加的函數(shù) | [ ] |
[ ] |
使用 #pragma exit 添加的函數(shù) | [ ] |
[√] |
當前函數(shù)局部變量的析構函數(shù) | [ ] |
[ ] |
主窗口析構函數(shù) | [ ] |
[√] |
全局變量析構函數(shù) | [ ] |
[√] |
例子:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
std::abort();
}
運行結(jié)果:
相關:
C++ Builder 參考手冊 ? <cstdlib> ? abort