atexit-退出处理程序 2.0版本中的新功能。 源代码:Lib/atexit.py atexit模块定义了一个函数来注册清理函数。如此注册的功能在正常解释器终止时自动执行。
atexit线程安全:从多个线程调用函数不会引发数据竞争。 保证执行至少支持注册32职能。确切的限制是实现定义的。 参数 [表格] 返回值 0如果注册成功,则为非零值。
传递给at_quick_exit()或atexit()的函数不会被调用。是否关闭文件等开放资源是实现定义的。如果exit_code为EXIT_FAILURE,则返回实现定义的状态,表示终止不成功。
执行几个清理步骤: 传递给atexit的函数被调用,按照注册的相反顺序所有C流都被刷新并关闭由tmpfile创建的文件被删除控制权返回到主机环境。
传递给atexit()的函数不会被调用。是否关闭文件等开放资源是实现定义的。实现定义的状态返回到指示不成功执行的主机环境。 参数 (none). 返回值 (none).
正常程序终止如果在这种情况下需要调用函数,std::atexit一定要用。 参数 [表格] 返回值 0如果注册成功,则为非零值。
如果程序中的最后一个线程以thrd_exit结束,那么整个程序终止,就像通过以EXIT_SUCCESS作为参数调用exit一样(所以由atexit注册的函数在最后一个线程的上下文中执行)。
4%29std::atexit或std::at_quick_exit抛出异常 5%29a除规格外它是实现定义的,在本例中是否完成堆栈展开--在本例中为%29。
通用公用事业 程序实用程序 终止%28等std::abort,,,std::atexit%29,环境%28等。std::system%29,信号%28等。std::raise29%。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
