运行时入口函数及程序运行步骤

一、运行时概念
如任何一个c/c++程序,它的背后都要有一套庞大的代码来支撑,以使得该程序正常运行,这套代码至少包含入口函数及其所依赖的函数构成的集合,当然它还理应包含各种标准库函数的实现,这样一个代码集合称之为运行时库,而c语言的运行时库即被称为c运行时库,那么对于VC++编译器来说,与C语言类似,C++也定义了自己的标准库,同时提供相关支持库,称为C++运行时库,由于C++对C的兼容性,C++标准库包括了C标准库,除此之外还包括了IO流和标准模板库STL。
二、运行时入口函数
运行时库的种类由编译器决定,这里的入口函数主要是MSVC CRT运行时库的入口函数
运行时入口函数及程序运行步骤_第1张图片运行时入口函数及程序运行步骤_第2张图片
在这里插入图片描述
运行时入口函数及程序运行步骤_第3张图片运行时入口函数及程序运行步骤_第4张图片
入口函数主要是对运行库和程序运行环境进行初始化,包括堆、IO、线程、全局变量构造等等
三、程序运行步骤
程序的入口函数实际上是一个程序的初始化和结束部分,它往往是运行库的一部分,一个典型的程序运行步骤大致如下:
1.操作系统在创建进程后,把控制权交给了程序的入口,这个入口往往是运行库中的某个入口函数
2.入口函数对运行库和程序运行环境进行初始化,包括堆、IO、线程、全局变量构造等等
3.入口函数初始化之后,调用main函数,正式开始执行程序主体部分
4.main函数执行完毕后,返回到入口函数,入口函数进行清理工作,包括全局变量析构,堆销毁,关闭IO等,然后进行系统调用结束进程

你可能感兴趣的:(随笔)