atexit 函数

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

  • 操作系统在创建进程之后,控制权给到程序入口
  • 入口函数堆运行库和程序运行环境初始化,包括堆、IO、线程、全局变量构造
  • 调用 main 函数(三个参数给到),同时接收返回值
  • 入口函数进行清理工作,包括全局变量析构、堆销毁、关闭 IO,系统调用结束进程,返回值

Glibc 入口函数实现

MSVC CRT 入口函数