_Exit

来自cppreference.com
< c‎ | program
在标头 <stdlib.h> 定义
void _Exit( int exit_code );
(C99 起)
(C11 前)
_Noreturn void _Exit( int exit_code );
(C11 起)
(C23 前)
[[noreturn]] void _Exit( int exit_code );
(C23 起)

导致发生程序正常终止,但不完全清理资源。

不调用传递给 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()

引用

  • C17 标准(ISO/IEC 9899:2018):
  • 7.22.4.5 The _Exit function (第 256 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.22.4.5 The _Exit function (第 352 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.20.4.4 The _Exit function (第 316 页)

参阅

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