_Exit

< c‎ | program
定义于头文件 <stdlib.h>
void _Exit( int exit_code );
(C99 起)
(C11 前)
_Noreturn void _Exit( int exit_code );
(C11 起)

导致出现程序正常终止,而不完全清理资源。

不调用传递给 at_quick_exit()atexit() 的函数。是否以未写入数据冲入打开的流、关闭打开的流或移除临时文件是实现定义的。

exit_code0EXIT_SUCCESS ,则将指示成功终止的状态返回给宿主环境。若 exit_codeEXIT_FAILURE ,则返回指示不成功终止的实现定义状态。其他情况下返回实现定义的状态值。

参数

exit_code - 程序的退出状态

返回值

(无)

示例

#include <stdlib.h>
#include <stdio.h>
 
/* _Exit 不调用 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 可能不冲入未写入的缓冲数据 */
    _Exit(0);
}

输出:

Enter main()

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.22.4.5 The _Exit function (p: 352)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.20.4.4 The _Exit function (p: 316)

参阅

引发非正常的程序终止(不清理)
(函数)
引发正常的程序终止并清理
(函数)