看程式設計師自我修養差不多乙個月了,從這本書中學到了不少的東西。我覺得把這些學習到的東西記錄到部落格上,相當於複習了一下。
所以接下來就會寫幾篇關於《程式設計師的自我修養》的讀書筆記。
那麼這本書總的來說可以分為4個重要的部分:
elf相關
靜態鏈結
動態鏈結
函式庫因為我後面都會走c++後端(估計),反正肯定用c++來研發。所以有很多比較重要的常識是必須知道的,譬如elf檔案格式、怎麼寫/用makefile、gdb工具。
所以我看這本書的目的是了解elf,不能說看完這本書就有乙個很深刻的認識。但至少我對其會先由乙個感性認識,有乙個基本印象,聊起來有個一知半解。
其實後面的學的東西還有很多,所以我就趁著現在把一些c++研發方面(個人覺得)必須要知道的東西給列一哈。從最基本的開始列。
x86架構 x86組合語言 (x86從實模式到保護模式、王爽的組合語言)
作業系統 (作業系統真象換原 xv6作業系統原始碼分析) (重點理解記憶體 程序 檔案 中斷系統 這幾個方面是如何做的)
linux基本知識 (鳥哥私房菜基礎篇) (3個部分:bash shell 、yum軟體管理、檔案與配置)
演算法 (演算法高階指南 acwing)(目的是提高coding的能力)
c++語言特性和比較深入的了解,可以做乙個專案 (c++教材、effective c++)
英語 (多做翻譯題,背單詞)
計算機網路的知識 (雖然考研的時候學過,但是可能以後會用到更多,所以要用到就記錄一下)
上面列了這麼多,最重要的是linux基本知識,c++語法特性和基礎應用,演算法。其他的都是內功(但是有不可或缺)。重要的還有一些工具的使用:gdb、makefile、vcs,gcc。
好吧,就記錄到這裡了。下面就開始複習一下《自我修養》的一些常識。
讀書筆記 程式設計師的自我修養總結(三)
實際上就是一堆目標檔案的歸檔,可以在cmd命令中使用命令ar t xx.lib可以解析出對應的obj檔案,也可以通過ar v x xx.lib將目標檔案解析出來。所以,需要了解的是目標檔案到底是什麼。目標檔案與可執行檔案格式跟作業系統和編譯器密切相關,不同的系統下會有不同格式,但大同小異。比如win...
讀書筆記 程式設計師的自我修養總結(四)
標籤 程式設計開發 可執行檔案中的 段和資料段都是由輸入目標中合併而來,鏈結器如何將各個段合併到輸出檔案並分配輸出檔案中的空間的呢?方法一 直接按序疊加,obj 1 在obj 0的下面,就這樣疊在一起。非常簡單,但是問題是obj中都用自己的.text,data段等,組合在輸出的可執行檔案中會造成乙個...
程式設計師的自我修養 讀書筆記
第一部分 溫故而知新 第一章 介紹基本的背景知識 作業系統 執行緒 硬體 1 關於c語言中的hello world這些問題你都清楚嗎?2 計算機硬體裝置的三個核心部件 1 處理器cpu 2 記憶體 3 i o控制晶元 4 作業系統的功能 1 提供抽象介面。2 管理硬體資源 5 多道程式 分時系統 多...