main函数执行之前,主要就是初始化系统相关资源:
     1. 设置栈指针
     2. 初始化static静态和global全局变量,即data段的内容
     3. 将未初始化部分的全局变量赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL,等等,即.bss段的内容     
     4. 全局对象初始化,在main之前调用构造函数
     5. 将main函数的参数,argc,argv等传递给main函数,然后才真正运行main函数

main函数执行之后:
     1. 全局对象的析构函数会在main函数之后执行; 
     2. 可以用_onexit 注册一个函数,它会在main 之后执行; 
如果你需要加入一段在main退出后执行的代码,可以使用onexit()函数,注册一个函数。 
 
        #include <stdlib.h>
        #include <stdio.h>
    
        int atexit(void (*function")(void));
        void fn1( void ), fn2( void ), fn3( void );
                         
        int main( void ){
            onexit( fn1 );
            onexit( fn2 );
            printf( "This is executed first." );
        }
        
        void fn1(){
            printf( " This is" );
        }
        void fn2(){
            printf( " executed next." );
        }
结果:
This is executed first.
This is executed next. 
 

最新文章

  1. Android开机启动Activity或者Service方法
  2. Atitit 常用比较复杂的图像滤镜 attilax大总结
  3. 第六篇:在SOUI中用九宫格拉伸方式显示一个图片资源
  4. c#组元(Tuple)的使用
  5. 《高性能javascript》读书笔记:P1减少跨作用域的变量访问
  6. cdoj 题目简单分类
  7. VB 增强的部件与引用
  8. js 浏览器版本检测
  9. win7配置简单的FTP服务器
  10. 线程问题、异常处理、自定义URL
  11. 内容中断随想录(risc cpu的那些事)
  12. 转:Jmeter常见问题 (转载) http://www.51testing.com/?uid-128005-action-viewspace-itemid-84094
  13. jsonp的原理和实现
  14. Java 学习笔记 二维数组和对象数组
  15. ImitateUCM项目启动Tomcat的过程
  16. imeiimsi生成规则
  17. 将list集合转json
  18. python语法之函数
  19. python报错ModelNotFoundError
  20. django基础操作

热门文章

  1. poj 1804 (nyoj 117)Brainman : 归并排序求逆序数
  2. (easy)LeetCode 226.Invert Binary Tree
  3. IE条件注释
  4. Grunt 之 watch 和 livereload
  5. python核心编程 第二天
  6. python实现批量ping IP,并将结果写入
  7. 将Excel中数据导入数据库(二)
  8. memcached学习(5). memcached的应用和兼容程序
  9. extjs gride 显示序号
  10. android 解析json数据格式(转)