杂记

操作系统装载程序之后,首先运行的代码并不是main的第一行,而是某些别的代码,这些代码负责准备好main函数执行所需要的环境,并且负责调用main函数,这时候你才可以在main函数里放心大胆地写各种代码:申请内存、使用系统调用、触发异常、访问I/O。

 

一个典型的程序运行步骤大致如下:

(1)操作系统在创建进程后,把控制权交到了程序的入口,这个入口往往是运行库中的某个入口函数。

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

(3)入口函数在完成初始化之后,调用main函数,正式开始执行程序主体部分。

(4)main函数执行完毕以后,返回到入口函数,入口函数进行清理工作,包括全局变量析构、堆销毁、关闭I/O等,然后进行系统调用结束进程。

posted on 2019-05-27 16:51  EMH1899  阅读(88)  评论(0编辑  收藏  举报

导航