程序的入口

      之前一直以为程序是从main函数开始的,原来一直都理解错误了。

      看一段代码:

      #include<cstdio>

     int  g_val = 1;

     int main()

     {

          printf("main Fun\n");

          return 0;

     }

     调试发现,当代码执行main函数的是,全局变量g_val已经有值了,也就是g_val初始化过程已经结束了。

    今天看一本书,恍然大悟,采摘如下:

    一个典型的程序运行步骤:

   1. 操作系统在创建进程后,把控制权交给程序入口,这个入口往往就是运行库中的某个入口函数;

   2.入口函数对运行库和程序的运行环境进行初始化,包括堆,I/O,线程,全局变量构造等等。

   3.入口函数初始化完成后,才真正调用main,进入函数的主体部分。

   4. 当main函数执行完成之后,会返回入口函数进行清理工作,包括全局变量的虚构,堆的销毁,关闭I/O等,然后进行系统调用结束进程。

 

至于入口函数如何操作,暂时还不打算去了解。  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值