一個(gè)程序不是從main開始的蚜锨,而是從程序的入口函數(shù)開始的,這就涉及到運(yùn)行庫郭膛,比如glibc针余。
基本的過程:
1 操作系統(tǒng)創(chuàng)建進(jìn)程,控制權(quán)交到程序的入口忍级,也就是運(yùn)行庫的入口函數(shù)伪朽。
2 入口函數(shù)進(jìn)行運(yùn)行庫的初始化,和運(yùn)行環(huán)境的初始化朴肺,包括堆,io西土,線程鞍盗,全局變量等
3 然后就是main函數(shù),main之后返回到入口函數(shù)進(jìn)行變量的銷毀工作等等
glibc的入口函數(shù)就是—start
這個(gè)函數(shù)是匯編實(shí)現(xiàn)的平臺(tái)無關(guān)
環(huán)境變量是存于系統(tǒng)里的數(shù)據(jù)肋乍,任何程序都可以訪問墓造,