基本信息
源码名称:c++连接器和加载器(超清晰PDF)
源码大小:5.09M
文件格式:.rar
开发语言:C/C++
更新时间:2023-10-08
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍
c 连接器和加载器(超清晰PDF)

好东西啊, 在网上找了好久才找到的, 揭开连接和加载的内幕, 是程序员都必须要了解的编程基础知识, 否则对程序的运行机理一知半解

内容目录
第0 章 引子.......................................................................................................................................10
献给...............................................................................................................................................10
介绍...............................................................................................................................................10
本书的目标读者是哪些人?.......................................................................................................10
章节摘要.......................................................................................................................................11
项目...............................................................................................................................................12
致谢...............................................................................................................................................12
联系我们.......................................................................................................................................13
第1 章 链接和加载...........................................................................................................................14
链接器和加载器做什么?...........................................................................................................14
地址绑定:从历史的角度...........................................................................................................14
链接与加载...................................................................................................................................16
两遍链接...................................................................................................................................17
目标代码库...............................................................................................................................18
重定位和代码修改...................................................................................................................19
编译器驱动...................................................................................................................................20
链接器命令语言.......................................................................................................................21
链接:一个真实的例子...............................................................................................................22
练习...............................................................................................................................................26
第2 章 体系结构的问题...................................................................................................................27
应用程序二进制接口...................................................................................................................27
内存地址.......................................................................................................................................27
字节顺序和对齐.......................................................................................................................27
地址构成.......................................................................................................................................29
指令格式.......................................................................................................................................29
过程调用和可寻址性...................................................................................................................30
过程调用...................................................................................................................................30
数据和指令引用...........................................................................................................................32
IBM 370....................................................................................................................................32
SPARC...........................................................................................................................................34
SPARC V8.......................................................................................................................34
SPARC V9.......................................................................................................................35
Intel x86....................................................................................................................................36
分页和虚拟内存...........................................................................................................................37
程序地址空间...........................................................................................................................39
映射文件...................................................................................................................................40
共享库和程序...........................................................................................................................41
位置无关代码...........................................................................................................................41
Intel 386 分段................................................................................................................................42
嵌入式体系结构...........................................................................................................................43
怪异的地址空间.......................................................................................................................44
非一致性内存...........................................................................................................................44
内存对齐...................................................................................................................................44
练习...............................................................................................................................................44
第3 章 目标文件...............................................................................................................................47
目标文件中都有什么?..................................................................................................................47
设计一个目标文件格式...........................................................................................................47
空目标文件格式: MS-DOS 的.COM文件..................................................................................48
代码区段: Unix a.out 文件............................................................................................................48
a.out头部..................................................................................................................................50
与虚拟内存的交互...................................................................................................................51
重定位:MS-DOS EXE 文件.......................................................................................................54
符号和重定位...............................................................................................................................56
可重定位的a.out格式..................................................................................................................56
重定位项...................................................................................................................................58
符号和字串...............................................................................................................................59
a.out格式小结..........................................................................................................................60
Unix ELF 格式..............................................................................................................................60
可重定位文件...........................................................................................................................62
ELF 可执行文件.......................................................................................................................66
ELF 格式小结...........................................................................................................................68
IBM 360目标格式........................................................................................................................68
ESD 记录..................................................................................................................................69
TXT 记录..................................................................................................................................70
RLD记录..................................................................................................................................70
END 记录..................................................................................................................................71
小结...........................................................................................................................................71
微软可移植可执行体格式...........................................................................................................72
PE特有区段.............................................................................................................................76
运行PE可执行文件................................................................................................................77
PE和COFF..............................................................................................................................78
PE文件小结.............................................................................................................................78
Intel/Microsoft的OMF文件格式................................................................................................78
OMF记录.................................................................................................................................79
OMF文件的细节.....................................................................................................................80
OMF格式小结.........................................................................................................................82
不同目标格式的比较...................................................................................................................82
项目...............................................................................................................................................83
练习...............................................................................................................................................84
第4 章 存储空间分配.......................................................................................................................85
段和地址.......................................................................................................................................85
简单的存储布局...........................................................................................................................85
多种段类型...................................................................................................................................87
段与页面的对齐...........................................................................................................................88
公共块和其它特殊段...................................................................................................................88
公共块.......................................................................................................................................89
C 重复代码消除....................................................................................................................90
初始化和终结...........................................................................................................................92
IBM 伪寄存器..........................................................................................................................93
特殊的表...................................................................................................................................94
X86 分段的存储分配...............................................................................................................95
链接器控制脚本...........................................................................................................................96
嵌入式系统的存储分配...............................................................................................................97
实际中的存储分配.......................................................................................................................98
Unix a.out链接器的存储分配策略.........................................................................................98
ELF 中的存储分配策略...........................................................................................................99
Windows链接器的存储分配策略.........................................................................................101
练习.............................................................................................................................................102
项目.............................................................................................................................................103
第5 章 符号管理.............................................................................................................................104
绑定和名字解析.........................................................................................................................104
符号表格式.................................................................................................................................104
模块表.....................................................................................................................................106
全局符号表.............................................................................................................................108
符号解析.................................................................................................................................109
特殊符号.................................................................................................................................110
名称修改.....................................................................................................................................110
简单的C和Fortran 名称修改...............................................................................................110
C 类型编码:类型和范围..................................................................................................111
链接时类型检查.....................................................................................................................113
弱外部符号和其它类型符号.....................................................................................................113
维护调试信息.............................................................................................................................113
行号信息.................................................................................................................................114
符号和变量信息.....................................................................................................................114
实际的问题.............................................................................................................................115
练习.............................................................................................................................................115
项目.............................................................................................................................................116
第6 章 库.........................................................................................................................................117
库的目的.....................................................................................................................................117
库的格式.....................................................................................................................................117
使用操作系统.........................................................................................................................117
UNIX和Windows的Archive文件......................................................................................118
扩展到 64 位..........................................................................................................................120
Intel OMF 库文件...................................................................................................................120
建立库文件.................................................................................................................................121
搜索库文件.................................................................................................................................122
性能问题.....................................................................................................................................123
弱外部符号.................................................................................................................................123
练习.............................................................................................................................................124
项目.............................................................................................................................................124
第7 章 重定位.................................................................................................................................126
硬件和软件重定位.....................................................................................................................126
链接时重定位和加载时重定位.................................................................................................127
符号和段重定位.........................................................................................................................127
符号查找.................................................................................................................................128
基本的重定位技术.....................................................................................................................128
指令重定位.............................................................................................................................129
ECOFF 段重定位...................................................................................................................131
ELF 重定位.............................................................................................................................132
OMF重定位...........................................................................................................................132
可重链接和重定位的输出格式.................................................................................................132
其它重定位格式.........................................................................................................................133
以链表形式组织的引用.........................................................................................................133
以位图形式组织的引用.........................................................................................................134
特殊段.....................................................................................................................................134
特殊情况的重定位.....................................................................................................................135
练习.............................................................................................................................................135
项目.............................................................................................................................................135
第8 章 加载和重 叠.........................................................................................................................137
基本加载.....................................................................................................................................137
带重定位的基本加载.................................................................................................................138
位置无关代码.............................................................................................................................138
TSS/360 位置无关代码..........................................................................................................138
例程指针表.............................................................................................................................140
目录表.....................................................................................................................................141
ELF 位置无关代码.................................................................................................................141
位置无关代码的开销和得益.................................................................................................143
自举加载.....................................................................................................................................144
树状结构的覆盖.........................................................................................................................145
定义覆盖.................................................................................................................................147
覆盖的实现.............................................................................................................................149
覆盖的其它细节.....................................................................................................................150
覆盖技术小结 .......................................................................................................................151
练习.............................................................................................................................................151
项目.............................................................................................................................................151
第9 章 共享库.................................................................................................................................153
绑定时间.....................................................................................................................................154
实际的共享库.........................................................................................................................155
地址空间管理.........................................................................................................................155
共享库的结构.............................................................................................................................156
创建共享库.................................................................................................................................156
创建跳转表.............................................................................................................................157
创建共享库.............................................................................................................................158
创建空占位库.........................................................................................................................158
版本命名.................................................................................................................................159
使用共享库链接.........................................................................................................................159
使用共享库运行.........................................................................................................................160
malloc hack和其它共享库问题.................................................................................................160
练习.............................................................................................................................................163
项目.............................................................................................................................................163
第10 章 动 态 链接和加载...............................................................................................................165
ELF 动态链接.............................................................................................................................165
ELF 文件内容.............................................................................................................................165
加载一个动态链接的程序.........................................................................................................168
启动动态链接器.....................................................................................................................169
库的查找.................................................................................................................................169
共享库的初始化.....................................................................................................................170
使用PLT 的惰性过程链接(lazy procedure linkage).............................................................171
动态链接的其它特性.............................................................................................................172
静态的初始化.........................................................................................................................172
库的版本.................................................................................................................................173
运行时的动态链接.....................................................................................................................173
Microsoft动态链接库.................................................................................................................174
PE文件中的输入/输出符号(imported and exported symbols)........................................174
惰性绑定.................................................................................................................................177
DLL 库和线程........................................................................................................................178
OSF/1 伪静态共享库..................................................................................................................178
让共享库快一些.........................................................................................................................179
几种动态链接方法的比较.........................................................................................................179
练习.............................................................................................................................................180
项目.............................................................................................................................................181
第11 章 高级技 术...........................................................................................................................182
C 的技术..................................................................................................................................182
试验链接.................................................................................................................................183
消除重复代码.........................................................................................................................184
借助于数据库的方法.............................................................................................................185
增量链接和重新链接.................................................................................................................185
链接时的垃圾收集.....................................................................................................................187
链接时优化.................................................................................................................................188
链接时代码生成.........................................................................................................................189
链接时统计和工具.................................................................................................................190
链接时汇编.............................................................................................................................190
加载时代码生成.....................................................................................................................190
Java链接模式..............................................................................................................................191
加载Java类............................................................................................................................192
练习.............................................................................................................................................193
项目.............................................................................................................................................194

.
├── c 连接器和加载器(超清晰PDF)_linkerandloader.rar
└── linker and loader.pdf

0 directories, 2 files