C++ 程序启动 在进入main()前 会 调用两次 _initterm, 在 main() 结束后 还会调用 两次 _initterm
- 第一次 _initterm 初始化 C 环境(与多线程有关)
- 第二次 _initterm 创建 C++ 全局变量, 如果是自定义类型, 会 调用 atexit() 传入 全局对象的析构函数, 注: atexit 内维护的是 栈, 不是队列, 先传入的函数 会 后调用
- main() 执行
- 处理 atexit 中的函数
- 第三次 _initterm do pre terminators
- 第四次 _initterm do terminators