1. 程式人生 > >從程式碼上看程式生死週期(生死迴圈,生命週期)(轉)

從程式碼上看程式生死週期(生死迴圈,生命週期)(轉)

C語言程式的C執行時庫,C++語言程式的C++執行時庫(如上圖所示)等,這些執行時庫需要提前安裝在系統中,系統才會在分析到一個對應的程式時去啟動這個執行時庫,否則就無法執行這個程式。比如說你的系統沒有安裝C++執行時庫,而你的程式又沒有自己帶上這個庫,那麼系統執行時就無法啟動執行程式。相信這個很多人都遇見過,只是不知道怎麼回事罷了。
執行時庫執行時,系統已經建立好了程式的程序和主執行緒。這一部分的內容可以參開《Windows零基礎入門:1.7 程式如何執行和程式入口知識》。然後程式執行到了main函式。然後就是執行我們寫的程式碼邏輯了。當我們的程式碼邏輯執行完畢後,main函式執行完畢,這樣,執行流程退回到了執行時庫的執行,然後執行時庫做好清理工作,最後再退回系統的載入器程式執行,這樣一次程式從載入到最後載入器執行的結束,就表示了程式的最終結束。系統的排程程式再根據排程演算法,安排其他程序執行。
那麼從你雙擊exe檔案到系統又去排程其他程序執行,這個過程經歷了載入器載入程式,系統建立程序執行緒,然後啟動執行時庫執行,執行時庫引導執行到main函式,然後執行你寫的程式碼邏輯,然後退回執行時庫執行,再退回載入器執行,載入器執行完畢。最後又回到了系統的排程程式執行。這個過程,就是一個程式的生死週期,也就是程式的生死過程。當你在雙擊exe檔案,又會開始一輪迴圈。如此就是程式的生死週期了。
迴圈週期
這部分內容,比較抽象,如果你有問題,一定要提出來,我再根據個人情況再回答。不過,這一節就是了解一個基本流程,明白我們寫的程式碼在哪個流程執行,知道自己所處的位置,而不會陷入盲目之中。如果發現講述不準確或者有問題的地方,請一定要告訴我哦。