abort
来自cppreference.com
在标头 <stdlib.h> 定义
|
||
void abort(void); |
(C11 前) | |
_Noreturn void abort(void); |
(C11 起) (C23 前) |
|
[[noreturn]] void abort(void); |
(C23 起) | |
导致程序异常终止,除非传递给 signal 的信号处理函数正在捕捉 SIGABRT 且该处理函数不返回。
不调用传递给 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 The abort function (第 255 页)
- C11 标准(ISO/IEC 9899:2011):
- 7.22.4.1 The abort function (第 350 页)
- C99 标准(ISO/IEC 9899:1999):
- 7.20.4.1 The abort function (第 315 页)
- C89/C90 标准(ISO/IEC 9899:1990):
- 4.10.4.1 The abort function
参阅
引发正常的程序终止并清理 (函数) | |
注册一个要在调用 exit() 时调用的函数 (函数) | |
(C11) |
引发正常的程序终止但不完全清理 (函数) |