Namespaces
Variants

_Exit

From cppreference.net
定义于头文件 <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_code 0 EXIT_SUCCESS ,则向宿主环境返回表示成功终止的实现定义状态。如果 exit_code EXIT_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 _Exit 函数 (p: 256)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.22.4.5 _Exit 函数 (p: 352)
  • C99标准(ISO/IEC 9899:1999):
  • 7.20.4.4 _Exit函数(页:316)

参见

导致程序异常终止(不进行清理操作)
(function)
导致程序正常终止并执行清理操作
(function)