《程式設計師的自我修養 鏈結 裝載與庫》

2021-04-29 16:33:49 字數 953 閱讀 5500

先不說別的,就單看書名就知道是什麼意思了。作者的意思是想《演員的自我修養》的作者

斯坦尼斯拉夫斯基

致敬。老斯的那本書我沒看過。但我看這本書的意思就是培養程式設計師的基本素質。你說啥叫基本素質?那就是你能夠了解你編寫的程式的任何乙個執行的細節。就拿乙個簡單的

hello world

來說,它是如何執行到在

dos下顯示字元的呢?中間是怎樣的乙個過程,這涉及到很多的知識。尤其要了解計算機的硬體結構,和系統的功能。

第一章溫故知新

從最基本的硬體知識進行講解。然後在講解到現在的那些複雜的硬體。比如說:首先只是講

cpu、記憶體和

i/o。然後又講為了能讓計算機高速的處理資料,高速的在記憶體很

cpu之間交換資料。為了協調

cpu,記憶體和高速的圖形裝置,人們專門設計了乙個高速的北橋晶元,以便它們之間能夠高速的交換資料。由於北橋執行的速度非常高,所有相對低速的裝置如果全部直接連線在北橋上,北橋既須處理高速裝置,又須處理低速裝置,設計就會十分複雜。於是人們又專門設計了處理低速裝置的南橋晶元,磁碟,

usb,鍵盤,滑鼠等裝置都連線在南橋上,由南橋將它們彙總後連線到北橋上。

總的來說:

主要講了計算機的基本結構,從

cpu、記憶體、

i/o介面入手,一步一步講解了計算機的工作原理。再進一步說到作業系統的由來——就是為了更加自動化的控制硬體(原先都是人工直接控制硬體)。所以作業系統的作用就是對硬體進行充分的「壓榨」~充分發揮硬體的功率。進而又講了作業系統中的程序。又細分到執行緒。並對執行緒進行了細緻的講解。

第二章編譯和鏈結

主要是對程式設計時的細節進行講解,對編譯器和鏈結器的功能進行了很好的描述。

因為不是在自己家看(在書店

⊙﹏⊙b

汗),後面的大致看了一下。對檔案結構(windows下和linux下)進行了詳細的闡述。往後的比較專業,以我的水平和當時的環境(再⊙﹏⊙

b汗)不太好理解。

《程式設計師的自我修養 鏈結 裝載與庫》 鏈結

對於平常的應用程式開發,我們很少需要關注編譯和鏈結過程,因為通常的開發環境都是流行的整合開發環境 ide 比如visual studio myeclipse等。這樣的ide一般都將編譯和鏈結的過程一步完成,通常將這種編譯和鏈結合併在一起的過程稱為構建,即使使用命令列來編譯乙個源 檔案,簡單的一句 g...

程式設計師的自我修養 鏈結 裝載與庫

第一次接觸 程式設計師的自我修養 的時候,的確懷有一種疑惑的態度的。因為潛意識告訴我 在計算機這一行,更強調的是實踐動手,而 修養的顯然不屬於動手操作類,至少不是太適合我的需求。但是,當我以一種隨意的心態翻閱的時候,我才發現我的判斷是多麼的幼稚!這是一本深入淺出 通俗易懂的權威教材,特別是當我了解到...

Notes 《程式設計師的自我修養 鏈結 裝載與庫》

記錄下每章的知識點,便於以後對著這份知識圖譜,複習和重組。掌握硬體中的核心部件 cpu 記憶體 i o控制晶元 了解cpu核心頻率提公升過程中硬體構架的演進 從bus,到pci isa,再到pci express 搶占式cpu分配方式 cpu由作業系統統一分配,因為cpu分配給每個process的時...