1. 程式人生 > >深入理解計算機系統(一)

深入理解計算機系統(一)

從Hello World開始認識計算機系統(c語言)

一枚程式設計小白從2018.9.1的學習歷程…

世界上沒有什麼是努力辦不到的,如果有,那麼就更努力一些吧 1.在Unix系統上,原始檔到目標檔案是如何轉化的呢? 從源程式也就是hello.c經過預處理(cpp)也就是那些#引入的標頭檔案啦,把它直接插到程式中,結果呢,得到hello.i這個時候程式就變得完整一丟丟,那麼我們繼續把hello.i經過編譯器(cc1)搞成了hello.s變成了彙編程式(文字)),再通過彙編器(as)生成了可重定位目標程式hello.o(二進位制),它的位元組編碼是機器語言指令而不是字元,最後最後,再通過連結器(ld),因為我們可能要呼叫printf函式,printf函式放在哪裡呢,放在printf.o的預編譯目標檔案中,連結完了以後就變成真正的可執行檔案,再讓它載入到儲存器中,讓系統執行。