作者:
John R.Levine
出版社: 北京航空航天大学出版社
原作名: Linkers and Loaders
译者: 李勇
出版年: 2009-9
页数: 184
定价: 28.00元
丛书: 嵌入式系统译丛
ISBN: 9787811245714
出版社: 北京航空航天大学出版社
原作名: Linkers and Loaders
译者: 李勇
出版年: 2009-9
页数: 184
定价: 28.00元
丛书: 嵌入式系统译丛
ISBN: 9787811245714
内容简介 · · · · · ·
《链接器和加载器》讲述构建程序的关键工具——链接器和加载器,内容包括链接和加载、体系结构、目标文件、存储分配、符号管理、库、重定位、加载和覆盖、共享库、动态链接和加载、动态链接的共享库,以及着眼于成熟的现代链接器所做的一些变化;并介绍一个持续的实践项目,即使用Perl语言开发一个可用的小链接器。
《链接器和加载器》适合高校计算机相关专业的学生、实习程序员、语言设计者和开发人员阅读参考。
作者简介 · · · · · ·
莱文(John R.Levine),是很多书籍的作者或合作者,包括Lex & Yacc(O'Reilly),Programming for Graphics Files in C and C++(Wiley),以及7-heIntemetforDummies(IDG)。他还是Journal of C Language Translation的荣誉退休发行人、comp.compilers新闻组的长期仲裁人员,以及某个最早的商用Fortran 77编译器的创建考。他在耶鲁大学获得了计算机科学的博士学位。
目录 · · · · · ·
第1章 链接和加载
1.1 链接器和加载器做什么?
1.2 地址绑定:从历史的角度
1.3 链接与加载
1.4 编译器驱动
1.5 链接:一个真实的例子
练习
第2章 体系结构的问题
2.1 应用程序二进制接口
2.2 内存地址
2.3 地址构成
2.4 指令格式
2.5 过程调用和寻址能力
2.6 数据和指令引用
2.7 分页和虚拟内存
2.8 Intel 386分段
2.9 嵌入式体系结构
练习
第3章 目标文件
3.1 目标文件中都有什么?
3.2 空目标文件格式:MS-DOS的COM文件
3.3 代码区段:UNIX的a.out文件
3.4 重定位:MS-DOS的EXE文件
3.5 符号和重定位
3.6 可重定位的a.out格式
3.7 UNIX的ELF格式
3.8 IBM 360目标格式
3.9 微软可移植可执行体格式
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 维护调试信息
练习
项目
第6章 库
6.1 库的目的
6.2 库的格式
6.3 建立库文件
6.4 搜索库文件
6.5 性能问题
6.6 弱外部符号
练习
项目
第7章 重定位
7.1 硬件和软件重定位
7.2 链接时重定位和加载时重定位
7.3 符号和段重定位
7.4 基本的重定位技术
7.5 可重链接和重定位的输出格式
7.6 其他重定位格式
7.7 特殊情况的重定位
练习
项目
第8章 加载和覆盖
8.1 基本加载
8.2 带重定位的基本加载
8.3 位置无关代码
8.4 自举加载
8.5 树状结构的覆盖
练习
项目
第9章 共享库
9.1 绑定时间
9.2 实际的共享库
9.3 地址空间管理
9.4 共享库的结构
9.5 创建共享库
9.6 使用共享库链接
9.7 使用共享库运行
9.8 malloc hack和其他共享库问题
练习
项目
第10章 动态链接和加载
10.1 Elf动态链接
10.2 Elf文件内容
10.3 加载一个动态链接程序
10.4 使用PLT的惰性过程链接
10.5 动态链接的其他特性
10.6 运行时的动态链接
10.7 微软动态链接库
10.8 OSF/1伪静态共享库
10.9 让共享库快一些
10.10 几种动态链接方法的比较
练习
项目
第11章 高级技术
11.1 C++的技术
11.2 增量链接和重新链接
11.3 链接时的垃圾收集
11.4 链接时优化
11.5 链接时代码生成
11.6 Java链接模型
练习
项目
参考文献
· · · · · · (收起)
1.1 链接器和加载器做什么?
1.2 地址绑定:从历史的角度
1.3 链接与加载
1.4 编译器驱动
1.5 链接:一个真实的例子
练习
第2章 体系结构的问题
2.1 应用程序二进制接口
2.2 内存地址
2.3 地址构成
2.4 指令格式
2.5 过程调用和寻址能力
2.6 数据和指令引用
2.7 分页和虚拟内存
2.8 Intel 386分段
2.9 嵌入式体系结构
练习
第3章 目标文件
3.1 目标文件中都有什么?
3.2 空目标文件格式:MS-DOS的COM文件
3.3 代码区段:UNIX的a.out文件
3.4 重定位:MS-DOS的EXE文件
3.5 符号和重定位
3.6 可重定位的a.out格式
3.7 UNIX的ELF格式
3.8 IBM 360目标格式
3.9 微软可移植可执行体格式
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 维护调试信息
练习
项目
第6章 库
6.1 库的目的
6.2 库的格式
6.3 建立库文件
6.4 搜索库文件
6.5 性能问题
6.6 弱外部符号
练习
项目
第7章 重定位
7.1 硬件和软件重定位
7.2 链接时重定位和加载时重定位
7.3 符号和段重定位
7.4 基本的重定位技术
7.5 可重链接和重定位的输出格式
7.6 其他重定位格式
7.7 特殊情况的重定位
练习
项目
第8章 加载和覆盖
8.1 基本加载
8.2 带重定位的基本加载
8.3 位置无关代码
8.4 自举加载
8.5 树状结构的覆盖
练习
项目
第9章 共享库
9.1 绑定时间
9.2 实际的共享库
9.3 地址空间管理
9.4 共享库的结构
9.5 创建共享库
9.6 使用共享库链接
9.7 使用共享库运行
9.8 malloc hack和其他共享库问题
练习
项目
第10章 动态链接和加载
10.1 Elf动态链接
10.2 Elf文件内容
10.3 加载一个动态链接程序
10.4 使用PLT的惰性过程链接
10.5 动态链接的其他特性
10.6 运行时的动态链接
10.7 微软动态链接库
10.8 OSF/1伪静态共享库
10.9 让共享库快一些
10.10 几种动态链接方法的比较
练习
项目
第11章 高级技术
11.1 C++的技术
11.2 增量链接和重新链接
11.3 链接时的垃圾收集
11.4 链接时优化
11.5 链接时代码生成
11.6 Java链接模型
练习
项目
参考文献
· · · · · · (收起)
丛书信息
· · · · · ·
嵌入式系统译丛(共10册),
这套丛书还有
《ARM Cortex-M3权威指南》《嵌入式软件概论》《嵌入式Internet TCP/IP基础、实现及应用》《嵌入式实时系统:调度分析和验证》《模拟电路》
等
。
喜欢读"链接器和加载器"的人也喜欢的电子书 · · · · · ·
支持 Web、iPhone、iPad、Android 阅读器
喜欢读"链接器和加载器"的人也喜欢 · · · · · ·
- C专家编程 9.2
- POSIX多线程程序设计 7.7
- 程序设计语言 9.0
- STL源码剖析 8.7
- 编程语言实现模式 8.4
- 深度探索C++对象模型 9.0
- 深入理解LINUX网络内幕 8.8
- C++算法 8.7
- C++沉思录 8.6
链接器和加载器的书评 · · · · · · ( 全部 11 条 )
> 更多书评 11篇
这本书的其他版本 · · · · · · ( 全部4 )
-
Morgan Kaufmann (October 1999)8.8分 228人读过
-
-
机械工业出版社 (2022)暂无评分 2人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- C语言必读系列 (小马哥)
- IT 一级 信息技术(智力层次-实用性) 1.1.1 (ajian005)
- Linux_Kernel (grape0303)
- 3.程序员的自我修养 (葡萄)
- 黑魔法 (继续发育)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有626人想读,手里有一本闲着?
订阅关于链接器和加载器的评论:
feed: rss 2.0
0 有用 C55x 2013-02-16 01:29:50
正如Coly自己所说,翻译时长句太多。
0 有用 Ni Pan 2015-12-22 11:50:06
读的中译本,感谢译者但是读起来确实挺勉强。读了一半。
0 有用 CjayLight 2009-11-08 16:22:57
首先没看过这本.本书是1999年John R.Levine写的Linker&Loader,在网上有下载的英文原版和别人翻译好的(2006年版本),大可不用买书.底层基础,很有必要看一看...可以推荐同类的书籍<<程序员的自我修养>>,网上看过其中一两章,很不错
2 有用 空气 2010-12-13 15:23:52
远不如预想中的好。 覆盖到了各种平台各种系统,在今天,我们大部分都接触不到了。书又很薄,很多地方讲不透。更像是一本手册,一本历史,而不是一本教材。 想了解这方面的知识不如去看《程序员的自我修养》,后者专注于Linux和Windows平台,而且更通俗易懂。
0 有用 zzyong 2012-04-19 22:40:11
是一些概念上的描述,比较适合“需要懂,但又不需要深入懂”的程序员
0 有用 孤影渐苍茫、 2023-07-18 16:30:04 广东
看不懂
0 有用 豆友114514 2022-09-14 02:08:39 浙江
感觉没啥用,内容太浅了都是一带而过而且很多东西早已过时。当个科普书看还行。真想学感觉还是去看维基百科更详细
0 有用 海的花园 2021-11-22 18:58:31
翻译较差
0 有用 阅微草堂 2021-11-11 22:45:50
linker&loader(中译本)
0 有用 春天爬山 2021-01-10 17:42:38
概念理论讲的很好,实践方面还需要自己去摸索…嗐