1. 程式人生 > >程序員的自我修養—鏈接、裝載與庫pdf

程序員的自我修養—鏈接、裝載與庫pdf

自我修養 開發工具 理解 weight 有符號 簡單的 png 系統架構師 8.4

下載地址:網盤下載

內容簡介

編輯《程序員的自我修養:鏈接、裝載與庫》對裝載、鏈接和庫進行了深入淺出的剖析,並且輔以大量的例子和圖表,可以作為計算機軟件專業和其他相關專業大學本科高年級學生深入學習系統軟件的參考書。同時,還可作為各行業從事軟件開發的工程師、研究人員以及其他對系統軟件實現機制和技術感興趣者的自學教材。

媒體評論

編輯這是一本深人闡述鏈接、裝載和庫等問題的優秀圖書,讀來讓人愉悅,你從巾可以清晰地了解程序的前世今生,徹底理解敲人的代碼如何變成程序任系統中運行。通讀本書不管對於開發還是trouble shootin9都會很有幫助。建議每一位希望從事系統開發、或希望更實務地理解操作系統和編譯器、或不滿足於只寫代碼的優秀程序員都擁有這樣一本書。——鄒飛,趨勢科技(中國)研發中心資深軟件要程師本書從大處著眼,小處著手,以通俗易懂的語言,深入淺出地對系統軟件的底層形成機制進行條分縷析,正合藥山禪師所謂“高高山頂立,深深海底行”。循著作者的思緒一路走來,有如醍醐灌頂。暢快淋漓。非常高興有預覽此書初稿的寶貴機會,我在瀏覽書稿和查核相關資料的過程中,學到了很多以前未知或知之不深的內容。——馮亮,阿裏巴巴(中國)網絡技術有限公司運維部系統架構師

目錄

編輯第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 挖掘SIMPLESECTION.O3.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/COFF5.1 WINDOWS 的二進制文件格式PE/COFF 1345.2 PE 的前身——COFF5.3 鏈接指示信息5.4 調試信息5.5 大家都有符號表5.6 WINDOWS 下的ELF——PE5.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 HELL9.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章 系統調用與API12.1 系統調用介紹12.2 系統調用原理12.3 WINDOWS API12.4 本章小結第13章 運行庫實現13.1 C 語言運行庫13.2 如何使用MINI CRT13.3 C++運行庫實現13.4 如何使用MINI CRT++13.5 本章小結附錄AA.1 字節序(BYTE ORDER)A.2 ELF 常見段A.3 常用開發工具命令行參考索引

下載地址:網盤下載

程序員的自我修養—鏈接、裝載與庫pdf