騰訊朋友力薦書籍 程式設計師的自我修養 鏈結 裝載與庫

2021-10-09 21:13:03 字數 2096 閱讀 8166

目錄:第1部分 簡介

第1章 溫故而知新

1.1 從hello world 說起

1.2 萬變不離其宗

1.3 站得高,望得遠

1.4 作業系統做什麼

1.5 記憶體不夠怎麼辦

1.6 眾人拾柴火焰高

1.7 本章小結

第2部分 靜態鏈結

第2章 編譯和鏈結

2.1 被隱藏了的過程

2.2 編譯器做了什麼

2.3 鏈結器年齡比編譯器長

2.4 模組拼裝——靜態鏈結

2.5 本章小結

第3章 目標檔案裡有什麼

3.1 目標檔案的格式

3.2 目標檔案是什麼樣的

3.3 挖掘******section.o

3.4 elf 檔案結構描述

3.5 鏈結的介面——符號

3.6 除錯資訊

3.7 本章小結

第4章 靜態鏈結

4.1 空間與位址分配

4.2 符號解析與重定位

4.3 common 塊

4.4 c++相關問題

4.5 靜態庫鏈結

4.6 鏈結過程控制

4.7 bfd 庫

4.8 本章小結

第5章 windows pe/coff

5.1 windows 的二進位制檔案格式pe/coff 134

5.2 pe 的前身——coff

5.3 鏈結指示資訊

5.4 除錯資訊

5.5 大家都有符號表

5.6 windows 下的elf——pe

5.7 本章小結

第3部分 裝載與動態鏈結

第6章 可執行檔案的裝載與程序

6.1 程序虛擬位址空間

6.2 裝載的方式

6.3 從作業系統角度看可執行檔案的裝載

6.4 程序虛存空間分布

6.5 linux 核心裝載elf 過程簡介

6.6 windows pe 的裝載

6.7 本章小結

第7章 動態鏈結

7.1 為什麼要動態鏈結

7.2 簡單的動態鏈結例子

7.3 位址無關**

7.4 延遲繫結(plt)

7.5 動態鏈結相關結構

7.6 動態鏈結的步驟和實現

7.7 顯式執行時鏈結

7.8 本章小結

第8章 linux 共享庫的組織

8.1 共享庫版本

8.2 符號版本

8.3 共享庫系統路徑

8.4 共享庫查詢過程

8.5 環境變數

8.6 共享庫的建立和安裝

8.7 本章小結

第9章 windows 下的動態鏈結

9.1 dll 簡介

9.2 符號匯出匯入表

9.3 dll 優化

9.4 c++與動態鏈結

9.5 dll hell

9.6 本章小結

第4部分 庫與執行庫

第10章 記憶體

10.1 程式的記憶體布局

10.2 棧與呼叫慣例

10.3 堆與記憶體管理

10.4 本章小結

第11章 執行庫

11.1 入口函式和程式初始化

11.2 c/c++執行庫

11.3 執行庫與多執行緒

11.4 c++全域性構造與析構

11.5 fread 實現

11.6 本章小結

第12章 系統呼叫與api

12.1 系統呼叫介紹

12.2 系統呼叫原理

12.3 windows api

12.4 本章小結

第13章 執行庫實現

13.1 c 語言執行庫

13.2 如何使用mini crt

13.3 c++執行庫實現

13.4 如何使用mini crt++

13.5 本章小結

附錄aa.1 位元組序(byte order)

a.2 elf 常見段

a.3 常用開發工具命令列參考

程式設計師常用的書籍

該 收錄了it行業經常會看到的書籍,我本人從事linux行業需要閱讀很多相關書籍資料 linux system programming linux kernel architecture understanding linux networking internals tcp ip architec...

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...

程式設計師的自我修養

一忌 輕易言敗,沒有自信 沒有永不放棄精神的程式設計師,只是乙個有程式設計師名號的假程式設計師。乙個真正的程式設計師,知道在程式設計的過程中,可能會遇到不計其數的困難和問題,可能有極多的挫折和失敗,而成功只有一次。就為解決乙個問題,我們可能連續十幾甚至幾十小時的坐在計算機前不停的工作。乙個問題解決了...