首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

_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).

代码语言:javascript
复制
#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);
}

输出:

代码语言:javascript
复制
Enter main()

参考

  • C11标准(ISO / IEC 9899:2011):
    • 7.22.4.5 _Exit函数(p:352)
  • C99标准(ISO / IEC 9899:1999):
    • 7.20.4.4 _Exit函数(p:316)

扩展内容

abort

导致程序异常终止(不清除)(功能)

exit

导致正常程序终止并清理(功能)

| 用于_Exit的C ++文档 |

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com