真是個可怕的世界,細思極恐
環境,這個詞在計算機世界有獨特的韻味。
研究一個詞,總是乏味而且沒有意義的。
但是用另外一種方式去體會它,就感覺能把握它的真諦。
舉兩個例子。
宿主式環境:
給你一台計算機,又給你搭好了操作系統,Windows或者Unix。
只要你對當前操作系統的開發方式足夠了解,就可以完成各種開發任務。
這個是,後端開發(服務端開發)。
服務端,看似和我們很遙遠,其實非常近。
遊戲、網購、網頁。雖然我們看到的是應用層,實際上,功能都是由伺服器實現。
GIF
自由式環境:
給你一塊開發板,有微處理器、ROM等各種電子元件,沒有操作系統。
功能代碼要自己寫,驅動要自己寫,介面要自己定義,內存要自己分配,程序要自己燒錄。
這個是,嵌入式開發。
嵌入式開發,我可以直接舉例子。
冰箱、空調、洗衣機、小型遊戲機,所有拆開之後能找到開發板的電器。
有主板,就有程序。
程序早就深入生活。
我們每天使用,受益,卻不知道,不了解,甚至無法擺脫!
這真是一個可怕的世界,細思極恐。
只有不斷學習,才能削弱我的焦慮。
今天分享程序的執行過程。
程序的執行過程需要經歷幾個階段。
首先,程序必須載入到內存中。
在宿主式環境中,這個任務由操作系統完成。全局變數將在這個時候初始化(靜態存儲區)。
在獨立式環境中,程序的載入必須由手工安排,也可能是把代碼燒錄到ROM中。
然後,程序的執行便開始。
在宿主式環境中,通常一個小型的啟動程序與程序鏈接在一起。它負責處理一系列日常事務,如收集命令行參數。接著,便調用main函數。
現在,便開始執行代碼。
在絕大多數機器里,程序將使用一個運行時堆棧,它用於存儲函數的局部變數和返回值。這個時候,程序也可以使用靜態存儲區,存儲靜態局部變數。
最後一個階段是程序的終止。
它可以有多種不同的原因引起,可以正常返回,也可以異常終止。
GIF
學習新的知識,是一件非常有趣的事。
這是一個探索的過程。
不得不承認,時至今日,我們對計算機、對程序、對C語言的認識都太少。
冰山一角,還不足以幫助我們揭開面紗。
但是,這個過程充滿樂趣和希望。
關於柚子編程
致力於零基礎入階編程世界,一周一更
每周日中午12:00準時更新
喜歡記得來一個
※愛情最好的樣子就是在我眼中你最美
※羽絨服上沾上筆墨難清洗?用這3招再久的筆跡也能洗掉!
TAG:全球大搜羅 |