• 链接器和加载器
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

链接器和加载器

本店经营正版图书 两天左右发货 如果有着急发货的请不要下单

28.44 3.6折 79 全新

库存33件

北京朝阳
认证卖家担保交易快速发货售后保障

作者[美]约翰·R. 莱文(John R. Levine)

出版社机械工业出版社

出版时间2022-04

版次1

装帧其他

上书时间2024-12-18

阅读时代图书城

九年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 [美]约翰·R. 莱文(John R. Levine)
  • 出版社 机械工业出版社
  • 出版时间 2022-04
  • 版次 1
  • ISBN 9787111703723
  • 定价 79.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 188页
  • 字数 274千字
【内容简介】
本书讲述构建程序的关键工具——链接器和加载器,内容包括链接和加载、体系结构、目标文件、存储分配、符号管理、库、重定位、加载和覆盖、共享库、动态链接和加载、动态链接的共享库,以及着眼于成熟的现代链接器所做的一些变化;并介绍一个持续的实践项目,即使用Perl语言开发一个可用的小链接器。本书适合高校计算机相关专业的学生、实习程序员、语言设计者和开发人员阅读参考。
【作者简介】


    约翰r.莱文( john r. levine )互联网和网络安全领域知名专家。著有lexyacc、programming for graphicfile in c and c以及the inter fordummie等众多书籍,其中一些被翻译成几十种语言,靠前超过700万册。他是icann稳定与安全咨询委员会成员、互联网协会董事以及域名保证委员会的联合创始人。他还是journal of c languagetranlation的荣休出版人、p.piler新闻组的长期仲裁员以及某款早期商用fortran 77编译器的创建者。他拥有耶鲁大学计算机科学博士。
【目录】
译者序

前言

第1章 链接和加载1

1.1 链接器和加载器做什么1

1.2 从历史发展的角度分析地址绑定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 地址构成规则15

2.4 指令格式15

2.5 过程调用和可寻址性16

2.6 数据访问和指令引用19

2.6.1 IBM 37019

2.6.2 SPARC21

2.6.3 Intel x8623

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 非统一内存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可执行文件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 微软的可移植可执行文件格式55

3.9.1 PE特有区段59

3.9.2 运行PE可执行文件60

3.9.3 PE和COFF61

3.9.4 PE文件小结61

3.10 Intel/Microsoft的OMF文件格式61

3.10.1 OMF记录62

3.10.2 OMF文件的细节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 嵌入式系统的存储分配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 使用操作系统99

6.2.2 UNIX和Windows的归档文件100

6.2.3 扩展到64位102

6.2.4 Intel OMF库文件102

6.3 创建库文件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 覆盖技术的实现131

8.5.3 覆盖技术的其他细节132

8.5.4 覆盖技术小结132

8.6 练习13
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP