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
|