●譯者序
前言
第1章 鏈接和加載
1.1 鏈接器和加載器做什麼
1.2 從歷史發展的角度分析地址綁定
1.3 鏈接與加載
1.3.1 兩遍鏈接
1.3.2 目標代碼庫
1.3.3 重定位和代碼修改
1.4 編譯驅動器
1.5 鏈接:一個真實的例子
1.6 練習
第2章 體繫結構相關問題
2.1 應用程序二進制接口
2.2 內存地址
2.3 地址構成規則
2.4 指令格式
2.5 過程調用和可尋址性
2.6 數據訪問和指令引用
2.6.1 IBM 370
2.6.2 SPARC
2.6.3 Intel X86
2.7 分頁和虛擬內存
2.7.1 程序的地址空間
2.7.2 文件映射
2.7.3 共享庫和程序
2.7.4 位置無關代碼
2.8 Intel 386分段
2.9 嵌入式體繫結構
2.9.1 怪異的地址空間
2.9.2 非統一內存
2.9.3 內存對齊
2.10 練習
第3章 目標文件
3.1 目標文件中有什麼
3.2 空目標文件格式:MS-DOS的.COM文件
3.3 代碼分段:UNIX的a.out文件
3.3.1 a.out文件頭
3.3.2 與虛擬內存的交互
3.4 重定位:MS-DOS的EXE文件
3.5 符號和重定位
3.6 可重定位的a.out格式
3.6.1 重定位項
3.6.2 符號和字符串
3.6.3 a.out格式小結
3.7 UNIX ELF格式
3.7.1 可重定位文件
3.7.2 ELF可執行文件
3.7.3 ELF格式小結
3.8 IBM360目標文件格式
3.8.1 ESD記錄
3.8.2 TXT記錄
3.8.3 RLD記錄
3.8.4 END記錄
3.8.5 小結
3.9 微軟的可移植可執行文件格式
……
第4章 存儲空間管理
第5章 符號管理
第6章 庫
第7章 重定位
第8章 加載和覆蓋
第9章 共享庫
第10章 動態鏈接和加載
第11章 高級技術
參考文獻