©
This document uses PHP Chinese website manual Release
在头文件<stdlib.h>中定义 | ||
---|---|---|
void abort(void); | (直到C11) | |
_Noreturn void abort(void); | (自C11以来) |
除非SIGABRT
被传递给signal的信号处理程序捕获并且处理程序不返回,否则会导致程序异常终止。
传递给atexit()的函数不会被调用。 是否关闭文件等开放资源是实现定义的。 实现定义的状态返回到指示不成功执行的主机环境。
(none).
(none).
#include <stdio.h>#include <stdlib.h> int main(void) { FILE *fp = fopen("data.txt","r"); if (fp == NULL) { fprintf(stderr, "error opening file data.txt in function main()\n"); abort(); } /* Normal processing continues here. */ fclose(fp); printf("Normal Return\n"); return 0;}
输出:
error opening file data.txt in function main()
C11标准(ISO / IEC 9899:2011):
7.22.4.1中止功能(p:350)
C99标准(ISO / IEC 9899:1999):
7.20.4.1中止功能(p:315)
C89 / C90标准(ISO / IEC 9899:1990):
4.10.4.1中止功能
exit | 导致正常程序终止并清理(功能) |
---|---|
atexit对 | 注册要在exit()调用(函数)上调用的函数 |
quick_exit(C11) | 导致正常程序终止而没有完全清理(功能) |
| 用于中止的C ++文档|