_Exit

_Exit

void _Exit(int exit_code);(自C99开始)(直到C11)
_Noreturn void _Exit(int exit_code);(自C11以来)

导致正常的程序终止发生,而没有完全清理资源。

不会调用具有自动线程本地和静态存储持续时间的变量析构函数。 传递给at_quick_exit()或atexit()的函数不会被调用。 是否关闭文件等开放资源是实现定义的。 如果exit_code为EXIT_FAILURE,则返回实现定义的状态,表示终止不成功。 在其他情况下,返回实现定义的状态值。

参数

exit_code-退出程序的状态

返回值

(none).

#include <stdlib.h> #include <stdio.h> /* _Exit does not call functions registered with atexit. */ void f1(void) { puts("pushed first" } void f2(void) { puts("pushed second" } int main(void) { printf("Enter main()\n" atexit(f1 atexit(f2 fflush(stdout /* _Exit does not flush unwritten buffered data */ _Exit(0 }

输出:

Enter main()

参考

  • C11标准(ISO / IEC 9899:2011):

扩展内容

abort导致程序异常终止(不清除)(功能)
exit导致正常程序终止并清理(功能)

| 用于_Exit的C ++文档 |