abort
來自 cppreference.com
在標頭檔案 <stdlib.h> 中定義 |
||
void abort(void); |
(C11 之前) | |
_Noreturn void abort(void); |
(C11 起) (直至 C23) |
|
[[noreturn]] void abort(void); |
(自 C23 起) | |
導致程式異常終止,除非 SIGABRT 被傳遞給 signal 的訊號處理程式捕獲,並且處理程式不返回。
傳遞給 atexit() 的函式不會被呼叫。諸如檔案之類的開放資源是否關閉是實現定義的。一個實現定義的狀態將返回給主機環境,表示執行失敗。
目錄 |
[編輯] 引數
(無)
[編輯] 返回值
(無)
[編輯] 注意
POSIX 規定 abort()
函式會覆蓋阻塞或忽略 SIGABRT
訊號。
一些編譯器內在函式,例如 __builtin_trap
(gcc, clang, 和 icc) 或 __fastfail
/__debugbreak
(msvc),可以用於儘快終止程式。
[編輯] 示例
執行此程式碼
輸出
error opening file data.txt in function main()
[編輯] 參考
- C17 標準 (ISO/IEC 9899:2018)
- 7.22.4.1 abort 函式 (p: 255)
- C11 標準 (ISO/IEC 9899:2011)
- 7.22.4.1 abort 函式 (p: 350)
- C99 標準 (ISO/IEC 9899:1999)
- 7.20.4.1 abort 函式 (p: 315)
- C89/C90 標準 (ISO/IEC 9899:1990)
- 4.10.4.1 abort 函式
[編輯] 另請參閱
導致程式正常終止並進行清理 (函式) | |
註冊一個函式,以便在呼叫 exit() 時被呼叫 (函式) | |
(C11) |
導致正常程式終止,但不完全清理 (函式) |
C++ 文件 關於 abort
|