在好例子网,分享、交流、成长!
您当前所在位置:首页C/C++ 开发实例C/C++语言基础 → c++连接器和加载器(超清晰PDF)

c++连接器和加载器(超清晰PDF)

C/C++语言基础

下载此实例
  • 开发语言:C/C++
  • 实例大小:5.09M
  • 下载次数:6
  • 浏览次数:17
  • 发布时间:2023-10-08
  • 实例类别:C/C++语言基础
  • 发 布 人:chenxiaolan
  • 文件格式:.rar
  • 所需积分:2
 相关标签: c++ pdf 连接器 pd 连接

实例介绍

【实例简介】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

【实例截图】

from clipboard

【核心代码】

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

0 directories, 2 files


标签: c++ pdf 连接器 pd 连接

实例下载地址

c++连接器和加载器(超清晰PDF)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警