1. 程式人生 > >VC++編譯器背後的故事:編譯、連結、執行、庫、作業系統

VC++編譯器背後的故事:編譯、連結、執行、庫、作業系統

MulinB按:當你在IDE裡點選build時,背後都發生了什麼?什麼是編譯錯誤(compiling error)、什麼是連結錯誤(linking error)?程式的記憶體結構是怎樣的?執行到main函式之前都發生了什麼?VC++編譯器中的眾多編譯選項該如何設定?什麼是include, lib, bin?可執行檔案exe的結構是怎麼樣的?libcpmt.lib和msvcprt.lib的區別是什麼?什麼是系統呼叫、什麼是API?本文多數內容來自《程式設計師的自我修養-連結、裝載、庫》讀書筆記。


前些日子在實驗室內小論壇上講了一次關於程式開發中需要的關於作業系統和開發環境的瑣碎的知識,主要是講給一些非計算機科班出身的同學(或許因為實驗室屬於跨學科吧,很多同學來自數學系、生科院、控制系等),他們在學習程式設計時,讀完一兩本關於程式語言的書後仍然對程式設計一頭霧水,遇到bug時不知道如何定位,所以就藉此機會給他們推薦一些相關書籍吧。學程式設計,語言之外,還有很多知識需要學習。

 

該PPT屬於MulinB本人原創,轉載請註明出處。

 

PS:雖然本人水平有限,不過網上發現有童鞋轉載自己辛苦勞動成果據為己有,實在可笑……