main函数是我们的主程序入口函数。
那么在执行main函数之前我们的程序帮我们做了些什么了?
实际上在我们的系统装载程序之后,首先运行的代码并不是main的第一行,而是某些特别的代码,这些代码会准备好main函数需要的环境,并且负责调用main函数,这时候才可以在main了写各种业务代码。
1、设置栈指针。
2、初始化static静态和global全局变量,即data段的内容。
3、为bss段的内容赋值。
4、运行全局构造器。
5、传递argc,argv给main函数。
main函数是我们的主程序入口函数。
那么在执行main函数之前我们的程序帮我们做了些什么了?
实际上在我们的系统装载程序之后,首先运行的代码并不是main的第一行,而是某些特别的代码,这些代码会准备好main函数需要的环境,并且负责调用main函数,这时候才可以在main了写各种业务代码。
1、设置栈指针。
2、初始化static静态和global全局变量,即data段的内容。
3、为bss段的内容赋值。
4、运行全局构造器。
5、传递argc,argv给main函数。