abort
From cppreference.net
|
定义于头文件
<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函数(页码:315)
- C89/C90 标准 (ISO/IEC 9899:1990):
-
- 4.10.4.1 abort 函数
参见
|
导致正常程序终止并进行清理
(函数) |
|
|
注册在调用
exit()
时要执行的函数
(函数) |
|
|
(C11)
|
导致正常程序终止但不完全清理
(函数) |
|
C++ 文档
关于
abort
|
|