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

鏈接器和加載器

鏈接器和加載器

定 價:¥28.00

作 者: (美)萊文 著,李勇 譯
出版社: 北京航空航天大學出版社
叢編項:
標 簽: LINUX

ISBN: 9787811245714 出版時間: 2009-09-01 包裝: 平裝
開本: 16開 頁數(shù): 184 字數(shù):  

內(nèi)容簡介

  本書講述構(gòu)建程序的關(guān)鍵工具——鏈接器和加載器,內(nèi)容包括鏈接和加載、體系結(jié)構(gòu)、目標文件、存儲分配、符號管理、庫、重定位、加載和覆蓋、共享庫、動態(tài)鏈接和加載、動態(tài)鏈接的共享庫,以及著眼于成熟的現(xiàn)代鏈接器所做的一些變化;并介紹一個持續(xù)的實踐項目,即使用Perl語言開發(fā)一個可用的小鏈接器。本書適合高校計算機相關(guān)專業(yè)的學生、實習程序員、語言設(shè)計者和開發(fā)人員閱讀參考。作者簡介:萊文(John R.Levine)是很多書籍的作者或合作者,包括Lex & Yacc(O'Reilly),Programming for Graphics Files in C and C++(Wiley),以及7-heIntemetforDummies(IDG)。他還是Journal of C Language Translation的榮譽退休發(fā)行人、comp.compilers新聞組的長期仲裁人員,以及某個最早的商用Fortran 77編譯器的創(chuàng)建考。他在耶魯大學獲得了計算機科學的博士學位。

作者簡介

  萊文(John R.Levine),是很多書籍的作者或合作者,包括Lex & Yacc(OReilly),Programming for Graphics Files in C and C++(Wiley),以及7-heIntemetforDummies(IDG)。他還是Journal of C Language Translation的榮譽退休發(fā)行人、comp.compilers新聞組的長期仲裁人員,以及某個最早的商用Fortran 77編譯器的創(chuàng)建者。他在耶魯大學獲得了計算機科學的博士學位。

圖書目錄

第1章 鏈接和加載
1.1 鏈接器和加載器做什么?
1.2 地址綁定:從歷史的角度
1.3 鏈接與加載
1.4 編譯器驅(qū)動
1.5 鏈接:一個真實的例子
練習

第2章 體系結(jié)構(gòu)的問題
2.1 應(yīng)用程序二進制接口
2.2 內(nèi)存地址
2.3 地址構(gòu)成
2.4 指令格式
2.5 過程調(diào)用和尋址能力
2.6 數(shù)據(jù)和指令引用
2.7 分頁和虛擬內(nèi)存
2.8 Intel 386分段
2.9 嵌入式體系結(jié)構(gòu)
練習

第3章 目標文件
3.1 目標文件中都有什么?
3.2 空目標文件格式:MS-DOS的COM文件
3.3 代碼區(qū)段:UNIX的a.out文件
3.4 重定位:MS-DOS的EXE文件
3.5 符號和重定位
3.6 可重定位的a.out格式
3.7 UNIX的ELF格式
3.8 IBM 360目標格式
3.9 微軟可移植、可執(zhí)行體格式
3.10 Intel/Microsoft的OMF文件格式
3.11 不同目標格式的比較
練習
項目

第4章 存儲空間分配
4.1 段和地址
4.2 簡單的存儲布局
4.3 多種段類型
4.4 段與頁面的對齊
4.5 公共塊和其他特殊段
4.6 鏈接器控制腳本
4.7 實際中的存儲分配
練習
項目

第5章 符號管理
5.1 綁定和名字解析
5.2 符號表格式
5.3 名稱修改
5.4 弱外部符號和其他類型符號
5.5 維護調(diào)試信息
練習
項目

第6章 庫
6.1 庫的目的
6.2 庫的格式
6.3 建立庫文件
6.4 搜索庫文件
6.5 性能問題
6.6 弱外部符號
練習
項目

第7章 重定位
7.1 硬件和軟件重定位
7.2 鏈接時重定位和加載時重定位
7.3 符號和段重定位
7.4 基本的重定位技術(shù)
7.5 可重鏈接和重定位的輸出格式
7.6 其他重定位格式
7.7 特殊情況的重定位
練習
項目

第8章 加載和覆蓋
8.1 基本加載
8.2 帶重定位的基本加載
8.3 位置無關(guān)代碼
8.4 自舉加載
8.5 樹狀結(jié)構(gòu)的覆蓋
練習
項目

第9章 共享庫
9.1 綁定時間
9.2 實際的共享庫
9.3 地址空間管理
9.4 共享庫的結(jié)構(gòu)
9.5 創(chuàng)建共享庫
9.6 使用共享庫鏈接
9.7 使用共享庫運行
9.8 malloc hack和其他共享庫問題
練習
項目

第10章 動態(tài)鏈接和加載
10.1 ELF動態(tài)鏈接
10.2 ELF文件內(nèi)容
10.3 加載一個動態(tài)鏈接程序
10.4 使用PLT的惰性過程鏈接
10.5 動態(tài)鏈接的其他特性
10.6 運行時的動態(tài)鏈接
10.7 微軟動態(tài)鏈接庫
10.8 OSF/1偽靜態(tài)共享庫
10.9 讓共享庫快一些
10.10 幾種動態(tài)鏈接方法的比較
練習
項目

第11章 高級技術(shù)
11.1 C++的技術(shù)
11.2 增量鏈接和重新鏈接
11.3 鏈接時的垃圾收集
11.4 鏈接時優(yōu)化
11.5 鏈接時代碼生成
11.6 Java鏈接模型
練習
項目
參考文獻

本目錄推薦

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