main函式執行之前,主要就是初始化系統相關資源:
1.設定棧指標
2.初始化static靜態和global全域性變數,即data段的內容
3.將未初始化部分的賦初值:數值型short,int,long等為0,bool為false,指標為null,等等,即.bss段的內容
4.執行全域性構造器,估計是c++中建構函式之類的吧
5.將main函式的引數,argc,argv等傳遞給main函式,然後才真正執行main函式
main函式執行完畢以後,返回到入口函式,入口函式進行清理工作,包括全域性變數析構、堆銷毀、關閉i/o等,然後進行系統呼叫結束程序。
main之前執行
分類 c 2013 01 25 14 56 1480人閱讀收藏 舉報 一 main結束 不代表整個程序結束 1 全域性物件的建構函式會在main 函式之前執行,全域性物件的析構函式會在main函式之後執行 用atexit註冊的函式也會在main之後執行。2 一些全域性變數 物件和靜態變數 物件的空間...
main函式執行之前
main函式是我們的主程式入口函式。那麼在執行main函式之前我們的程式幫我們做了些什麼了?實際上在我們的系統裝載程式之後,首先執行的 並不是main的第一行,而是某些特別的 這些 會準備好main函式需要的環境,並且負責呼叫main函式,這時候才可以在main了寫各種業務 1 設定棧指標。2 初始...
main 之前之後的那些事兒
在main函式執行之前 總要執行一段 如static物件 static函式 以及全域性物件的初始化。在退出之前也總要執行一段 來釋放相關的資源。這段 通常是不可見的 故 一般形式為 int main initailzation ourcodes clear 程式設計師可以手動控制main函式在退出之...