abort
来自cppreference.com
定义于头文件 <stdlib.h>
|
||
void abort(void); |
(C11 前) | |
_Noreturn void abort(void); |
(C11 起) | |
导致程序异常终止,除非传递给 signal 的信号处理函数正在捕捉 SIGABRT ,而该处理函数不返回。
不调用传递给 atexit() 的函数。是否关闭打开的资源,例如文件,是实现定义的。向宿主环境返回指示不成功执行的实现定义状态。
参数
(无)
返回值
(无)
注解
POSIX 指定 abort()
函数撤除阻塞,或忽略 SIGABRT
信号。
某些编译器内建子程序,例如 __builtin_trap
( gcc、 clang 及 icc )或 __debugbreak
( msvc ),能用于尽可能快地终止程序。
示例
运行此代码
输出:
error opening file data.txt in function main()
引用
- C17 标准(ISO/IEC 9899:2018):
- 7.22.4.1 The abort function (p: 255)
- C11 标准(ISO/IEC 9899:2011):
- 7.22.4.1 The abort function (p: 350)
- C99 标准(ISO/IEC 9899:1999):
- 7.20.4.1 The abort function (p: 315)
- C89/C90 标准(ISO/IEC 9899:1990):
- 4.10.4.1 The abort function
参阅
引发正常的程序终止并清理 (函数) | |
注册一个要在调用 exit() 时调用的函数 (函数) | |
(C11) |
引发正常的程序终止但不完全清理 (函数) |