注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡計算機科學理論與基礎知識鏈接器和加載器

鏈接器和加載器

鏈接器和加載器

定 價:¥79.00

作 者: [美]約翰·R. 萊文(John R. Levine)
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111703723 出版時間: 2022-04-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 188 字數(shù):  

內容簡介

  本書講述構建程序的關鍵工具——鏈接器和加載器,內容包括鏈接和加載、體系結構、目標文件、存儲分配、符號管理、庫、重定位、加載和覆蓋、共享庫、動態(tài)鏈接和加載、動態(tài)鏈接的共享庫,以及著眼于成熟的現(xiàn)代鏈接器所做的一些變化;并介紹一個持續(xù)的實踐項目,即使用Perl語言開發(fā)一個可用的小鏈接器。本書適合高校計算機相關專業(yè)的學生、實習程序員、語言設計者和開發(fā)人員閱讀參考。

作者簡介

暫缺《鏈接器和加載器》作者簡介

圖書目錄

譯者序
前言
第1章 鏈接和加載 1
1.1 鏈接器和加載器做什么 1
1.2 從歷史發(fā)展的角度分析地址綁定 1
1.3 鏈接與加載 3
1.3.1 兩遍鏈接 4
1.3.2 目標代碼庫 5
1.3.3 重定位和代碼修改 6
1.4 編譯驅動器 7
1.5 鏈接:一個真實的例子 9
1.6 練習 12
第2章 體系結構相關問題 13
2.1 應用程序二進制接口 13
2.2 內存地址 13
2.3 地址構成規(guī)則 15
2.4 指令格式 15
2.5 過程調用和可尋址性 16
2.6 數(shù)據(jù)訪問和指令引用 19
2.6.1 IBM 370 19
2.6.2 SPARC 21
2.6.3 Intel x86 23
2.7 分頁和虛擬內存 24
2.7.1 程序的地址空間 26
2.7.2 文件映射 27
2.7.3 共享庫和程序 28
2.7.4 位置無關代碼 28
2.8 Intel 386分段 29
2.9 嵌入式體系結構 31
2.9.1 怪異的地址空間 31
2.9.2 非統(tǒng)一內存 31
2.9.3 內存對齊 31
2.10 練習 32
第3章 目標文件 35
3.1 目標文件中有什么 35
3.2 空目標文件格式:MS-DOS的.COM文件 36
3.3 代碼分段:UNIX的a.out文件 36
3.3.1 a.out文件頭 37
3.3.2 與虛擬內存的交互 38
3.4 重定位:MS-DOS的EXE文件 41
3.5 符號和重定位 43
3.6 可重定位的a.out格式 43
3.6.1 重定位項 44
3.6.2 符號和字符串 44
3.6.3 a.out格式小結 45
3.7 UNIX ELF格式 45
3.7.1 可重定位文件 47
3.7.2 ELF可執(zhí)行文件 51
3.7.3 ELF格式小結 52
3.8 IBM 360目標文件格式 52
3.8.1 ESD記錄 53
3.8.2 TXT記錄 54
3.8.3 RLD記錄 54
3.8.4 END記錄 55
3.8.5 小結 55
3.9 微軟的可移植可執(zhí)行文件格式 55
3.9.1 PE特有區(qū)段 59
3.9.2 運行PE可執(zhí)行文件 60
3.9.3 PE和COFF 61
3.9.4 PE文件小結 61
3.10 Intel/Microsoft的OMF文件格式 61
3.10.1 OMF記錄 62
3.10.2 OMF文件的細節(jié) 63
3.10.3 OMF格式小結 65
3.11 不同目標文件格式的比較 65
3.12 練習 66
3.13 項目 66
第4章 存儲空間管理 69
4.1 段和地址 69
4.2 簡單的存儲布局 69
4.3 多種類型的段 70
4.4 段與頁面的對齊 72
4.5 公共塊和其他特殊段 72
4.5.1 公共塊 72
4.5.2 C 重復代碼消除 73
4.5.3 初始化和終結 75
4.5.4 IBM偽寄存器 76
4.5.5 專用鏈接表 78
4.5.6 x86的存儲分配策略 78
4.6 鏈接器控制腳本 79
4.7 嵌入式系統(tǒng)的存儲分配 81
4.8 實際使用的存儲分配策略 81
4.8.1 UNIX a.out鏈接器的存儲分配策略 81
4.8.2 ELF文件中的存儲分配策略 82
4.8.3 Windows鏈接器的存儲分配策略 83
4.9 練習 84
4.10 項目 85
第5章 符號管理 87
5.1 符號名綁定和解析 87
5.2 符號表的格式 87
5.2.1 模塊表 89
5.2.2 全局符號表 90
5.2.3 符號解析 91
5.2.4 特殊符號 91
5.3 名稱修改 92
5.3.1 簡單的C和Fortran名稱修改 92
5.3.2 C 類型編碼:類型和范圍 93
5.3.3 鏈接時類型檢查 95
5.4 弱外部符號和其他類型的符號 95
5.5 維護調試信息 96
5.5.1 行號信息 96
5.5.2 符號和變量信息 96
5.5.3 實際的問題 97
5.6 練習 98
5.7 項目 98
第6章 庫 99
6.1 庫的目的 99
6.2 庫的格式 99
6.2.1 使用操作系統(tǒng) 99
6.2.2 UNIX和Windows的歸檔文件 100
6.2.3 擴展到64位 102
6.2.4 Intel OMF庫文件 102
6.3 創(chuàng)建庫文件 103
6.4 搜索庫文件 104
6.5 性能問題 105
6.6 弱外部符號 105
6.7 練習 106
6.8 項目 106
第7章 重定位 109
7.1 硬件和軟件重定位 109
7.2 鏈接時重定位和加載時重定位 110
7.3 符號重定位和段重定位 110
7.4 基本的重定位技術 111
7.4.1 指令重定位 112
7.4.2 ECOFF段重定位 114
7.4.3 ELF重定位 115
7.4.4 OMF重定位 116
7.5 可重鏈接和可重定位的輸出格式 116
7.6 重定位項的其他格式 117
7.6.1 以鏈表形式組織的引用 117
7.6.2 以位圖形式組織的引用 117
7.6.3 特殊段 117
7.7 特殊情況的重定位 118
7.8 練習 118
7.9 項目 119
第8章 加載和覆蓋 121
8.1 基本的加載過程 121
8.2 帶重定位的基本加載過程 122
8.3 位置無關代碼 122
8.3.1 TSS/360的位置無關代碼 123
8.3.2 為每個例程建立的指針表 123
8.3.3 目錄表 123
8.3.4 ELF的位置無關代碼 124
8.3.5 位置無關代碼的開銷和收益 126
8.4 自舉加載 127
8.5 基于樹狀結構的覆蓋技術 128
8.5.1 定義覆蓋技術 129
8.5.2 覆蓋技術的實現(xiàn) 131
8.5.3 覆蓋技術的其他細節(jié) 132
8.5.4 覆蓋技術小結 132
8.6 練習 13

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號