函数说明:

1、原型:int atexit (void (*func)(void));

2、功能:注册退出main函数之后将要被执行的函数;

3、参考:http://www.cplusplus.com/reference/cstdlib/atexit/

4、头文件:stdlib.h

关键点说明:

1、被注册函数不能带参数,也不能有返回值;

2、被注册函数的调用顺序与注册顺序相反;

3、atexit函数可以在被注册函数中再次注册其他函数,但是这种行为是未定义的;

4、可以多次调用atexit函数注册不同的函数,也可以多次注册一个函数,那么该函数将在main函数exit之后被调用多次;

5、使用atexit至少可以注册32个函数,具体数量依赖于特定的库。

函数:atexit的更多相关文章

  1. 回收进程用户空间资源 exit()函数 _exit()函数 atexit()函数 on_exit()函数

    摘要:本文主要讲述进程的终止方式,以及怎样使用exit()函数来终止进程.回收进程用户空间资源:分析了exit()函数与_exit()函数,returnkeyword的差异.同一时候具体解读了怎样使用 ...

  2. C/C++程序终止时执行的函数——atexit()函数详解

    很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束.在程序的某个地方用exit()结束程序.用户通过Ctrl+C或Ctrl+break操作 ...

  3. 终止函数 atexit()

    函数名: atexit   头文件:#include<stdlib.h>   功 能: 注册终止函数(即main执行结束后调用的函数)   用 法: int atexit(void (*f ...

  4. atexit函数和两种特殊文件权限位

    atexit函数 atexit函数的原型如下 void atexit(void (*func)(void)) 它是一个参数为返回值和参数均为空的函数指针的函数,含义是当前进程结束之前执行参数函数指针所 ...

  5. C/C++中的abort、atexit、exit和_Exit

    这几个函数都在头文件#include <stdlib.h>中声明.exit._Exit与abort函数使程序终止,控制并不返回到这些函数的调用者. exit()函数 void exit(i ...

  6. linux fork函数与vfork函数,exit,_exit区别

    man vfork: NAME vfork - create a child process and block parent SYNOPSIS #include <sys/types.h> ...

  7. main函数之后的调用

    main函数代表进程的主线程.程序开始执行时,系统为程序创建一个进程,main函数其实并不是首先被调用的函数,而是操作系统调用了C/C++运行期启动函数,该函数负责对C/C++ 运行期库进行初始化.它 ...

  8. Linux/Unix C编程之的perror函数,strerror函数,errno

    #include <stdio.h> // void perror(const char *msg); #include <string.h> // char *strerro ...

  9. atexit模块介绍

    atexit 模块介绍 python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数,这个函数在解释器正常终止时自动执行,一般用来做一些资源清理的 ...

随机推荐

  1. python cookbook学习1

    python cookbook学习笔记 第一章 文本(1) 1.1每次处理一个字符(即每次处理一个字符的方式处理字符串) print list('theString') #方法一,转列表 结果:['t ...

  2. Thrift RPC实战(二) Thrift 网络服务模型

    限于篇幅关系,在观察源码的时候,只列举了部分源代码 TServer类层次体系 TSimpleServer/TThreadPoolServer是阻塞服务模型 TNonblockingServer/THs ...

  3. 【详细贴】Ubuntu Linode搭建海外策略路由VPN IPSec+L2TP(一)

    对于码农来说,Google上搜索,stackoverflow上提问,twitter上交流,这样的国际化开放平台才是码农成长的空间.但是,目前遇到的一些现实的困难,无可避免的带来一些麻烦,不过这难不倒我 ...

  4. hdu3579 Hello Kiki(数论)

    用到中国剩余定理,然后用扩展欧几里得算法求解. 这里有两个注意点,1.硬币数量不能为0或者负数 2.每个group数量有可能大于50,样例中就有 #include<stdio.h> #in ...

  5. POJ 1033 Defragment

    根据http://hi.baidu.com/algorithm/item/d51b15f7a8ea1c0a84d278be这个开始练习ac,刚开始接触这道题时以为是道搜索题,读完之后深思了一下,感觉不 ...

  6. [ios2]BaaS服务收藏 【转】

    首先,什么是BaaS服务: BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务.SaaS(软件即服务:Software as a Servic ...

  7. Swift之父Chris Lattner将从Apple离职,加入特斯拉

        1月10日,Swift编程语言之父 Chris Lattner 在 swift-evolution 邮件列表中宣布,他将于本月底离开 Apple,Ted Kremenek 将接替他成为 Swi ...

  8. C#开发学习——SqlHelper的应用

    使用App.config配置文件封装连接字符串,方便重复使用--->添加App.conifg配置文件--->Add : ConnectionString:--->添加引用 <? ...

  9. 【CSS学习笔记】CSS初始化

    腾讯QQ官网(http://www.qq.com)样式初始化 body,ol,ul,h1,h2,h3,h4,h5,h6,p,th,td,dl,dd,form,fieldset,legend,input ...

  10. 【UOJ #280】【UTR #2】题目难度提升

    http://uoj.ac/problem/280 非常难想的贪心,用set\(O(nlogn)\). 调了一天qwq. 题解 #include<set> #include<cstd ...