|
-- 會員 / 註冊 --
|
|
|
|
程序員的自我修養--鏈接、裝載與庫 ( 簡體 字) |
作者:俞甲子;石凡;潘愛民 | 類別:1. -> 程式設計 -> 綜合 2. -> 程式設計 -> C -> C 3. -> 程式設計 -> C++ -> C++ |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 20545 詢問書籍請說出此書號!【缺書】 NT售價: 495 元 |
出版日:11/1/2020 |
頁數:492 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787121085116 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書主要介紹系統軟件的運行機制和原理,涉及在Windows和Linux兩個系統平臺上,一個應用程序在編譯、鏈接和運行時刻所發生的各種事項,包括:代碼指令是如何保存的,庫文件如何與應用程序代碼靜態鏈接,應用程序如何被裝載到內存中并開始運行,動態鏈接如何實現,C/C++運行庫的工作原理,以及操作系統提供的系統服務是如何被調用的。每個技術專題都配備了大量圖示和代碼實例,力求將復雜的機制以簡潔的形式表達出來。 |
目錄:
第1 部分 簡介. 1 第1 章 溫故而知新 3 1.1 從HELLO WORLD 說起 4 1.2 萬變不離其宗 5 1.3 站得高,望得遠 8 1.4 操作系統做什么 10 1.5 內存不夠怎么辦 14 1.6 眾人拾柴火焰高 19 1.7 本章小結 33 第2 部分 靜態鏈接 35 第2 章 編譯和鏈接 37 2.1 被隱藏了的過程 38 2.2 編譯器做了什么 41 2.3 鏈接器年齡比編譯器長 48 2.4 模塊拼裝——靜態鏈接 50 2.5 本章小結 53 第3 章 目標文件里有什么 55 3.1 目標文件的格式 56 3.2 目標文件是什么樣的 58 3.3 挖掘SIMPLESECTION.O 61 3.4 ELF 文件結構描述 68 3.5 鏈接的接口——符號 81 3.6 調試信息 94 3.7 本章小結 95 第4 章 靜態鏈接 97 4.1 空間與地址分配 98 4.2 符號解析與重定位 103 4.3 COMMON 塊 111 4.4 C++相關問題 112 4.5 靜態庫鏈接 117 4.6 鏈接過程控制 123 4.7 BFD 庫 131 4.8 本章小結 132 第5 章 WINDOWS PE/COFF 133 5.1 WINDOWS 的二進制文件格式PE/COFF 134 5.2 PE 的前身——COFF 135 5.3 鏈接指示信息 139 5.4 調試信息 140 5.5 大家都有符號表 141 5.6 WINDOWS 下的ELF——PE 142 5.7 本章小結 146 第3 部分 裝載與動態鏈接.. 147 第6 章 可執行文件的裝載與進程 149 6.1 進程虛擬地址空間 150 6.2 裝載的方式 153 6.3 從操作系統角度看可執行文件的裝載 157 6.4 進程虛存空間分布 160 6.5 LINUX 內核裝載ELF 過程簡介 173 6.6 WINDOWS PE 的裝載 175 6.7 本章小結 177 第7 章 動態鏈接 179 7.1 為什么要動態鏈接 180 7.2 簡單的動態鏈接例子 184 7.3 地址無關代碼 188 7.4 延遲綁定(PLT) 200 7.5 動態鏈接相關結構 202 7.6 動態鏈接的步驟和實現 214 7.7 顯式運行時鏈接 221 7.8 本章小結 228 第8 章 LINUX 共享庫的組織 229 8.1 共享庫版本 230 8.2 符號版本 235 8.3 共享庫系統路徑 241 8.4 共享庫查找過程 241 8.5 環境變量 242 8.6 共享庫的創建和安裝 245 8.7 本章小結 248 第9 章 WINDOWS 下的動態鏈接 249 9.1 DLL 簡介 250 9.2 符號導出導入表 257 9.3 DLL 優化 266 9.4 C++與動態鏈接 273 9.5 DLL HELL 276 9.6 本章小結 279 第4 部分 庫與運行庫 281 第10 章 內存 283 10.1 程序的內存布局 284 10.2 棧與調用慣例 286 10.3 堆與內存管理 305 10.4 本章小結 315 第11 章 運行庫 317 11.1 入口函數和程序初始化 318 11.2 C/C++運行庫 335 11.3 運行庫與多線程 350 11.4 C++全局構造與析構 357 11.5 FREAD 實現 368 11.6 本章小結 381 第12 章 系統調用與API383 12.1 系統調用介紹 384 12.2 系統調用原理 388 12.3 WINDOWS API 401 12.4 本章小結 410 第13 章 運行庫實現 411 13.1 C 語言運行庫 412 13.2 如何使用MINI CRT 429 13.3 C++運行庫實現 433 13.4 如何使用MINI CRT++ 446 13.5 本章小結 448 附錄A 449 A.1 字節序(BYTE ORDER) 450 A.2 ELF 常見段 451 A.3 常用開發工具命令行參考 453 索引 ... 457
|
序: |
|