分享
 
 
 

[翻译]连接器和加载器::目录::!!!先睹为快!!!

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

连接器和加载器 - 目录

原著:John R. Levine

原文:收藏

翻译:lover_P

[译序]

搞底层开发的至臻境界我想大概要算操作系统开发和编译器开发了。计算机,就其字面意义,无非是冷血废铁一块,之所以有血有肉,正是操作系统从中支撑,之所以有经有脉,那便是编译器的功劳了。然而,这血肉之躯如何令周身经脉游走自如,这周身经脉又如何牵动血肉之躯动停行止,却有如不为人知的秘密,令许多初涉底层的人感到神秘异常。这便是连接器和加载器的职责了。熟悉汇编语言程序设计的人应该知道,每当我们xasm后,必当link一番,源文件变成的二进制代码才肯乖乖地在特定的操作系统之上运行。而即使是link过的程序,也只是存在于磁盘或其他存储介质上的指令,如何依照操作系统的意愿将它们们搬运到内存中的指定位置并开始执行,loader功不可没。

不幸的是,现在介绍操作系统和编译原理的书籍很多,但无论哪一方面的书籍、无论哪一本书,都忽略了连接和加载这一细节问题。偶尔提到,也不过是“编译之后经过连接即可生成可执行文件”或“操作系统将可执行文件加载到内存中的指定位置开始运行”云云。令狗狗(Google)发动灵鼻,爬遍“遍布世界的蜘蛛网(World Wide Web)”也难寻有关连接器和加载器的只言片语,只有少数文章介绍了.net加载器或Java加载器,也无非是宣传其如何如何安全、如何如何快速等等,毫无实际意义可言。

然而,本书却可称得上是“唯一”一本极详细介绍连接器和加载器的文献了。本书说不上偏重理论还是实践,抑或是偏重方法,总之是一本极为实用的书。

[注]英文link一词及其衍生词(如linker、Dynamic link library)通常被翻译为“链接”、“链接器”或“动态链接库”;而我在本书的翻译过程中却将它们译为“连接”、“连接器”、“动态连接库”等,这是出于这一术语的动作特征而做出的决定。“链接”通常指根据给出的标识找到特定的目标的过程,而“连接”大有“连续地放到一起”的意味。我们知道linking这个过程指的是将一个程序各个片段的代码绑定为一个逻辑上的整体,以形成可执行程序,因此,使用“连接”一词才更为恰当。

[内容]

小目录

第0章 写在前面

第1章 连接和加载

第2章 架构问题

第3章 目标文件

第4章 存储分配

第5章 符号管理

第6章 库

第7章 重定位

第8章 加载和复用

第9章 共享库

第10章 动态连接和加载

第11章 高级技术

第12章 参考

详细目录

第0章 写在前面

献给

简介

谁应该阅读本书?

章节预览

项目

感谢

联系我们

第1章 连接和加载

连接器和加载器都做些什么?

地址绑定:一个历史性观点

连接 VS 加载

两遍连接

目标代码库

重定位和代码修正

编译驱动器

连接器命令语言

连接:一个真实的例子

练习

第2章 架构问题

应用程序二进制接口

存储器地址

字节顺序和对齐

地址格式

指令格式

程序调用和可定地址性

程序调用

数据和指令引用

IBM 370

SPARC

SPARC V8

SPARC V9

Inter x86

分页和虚拟存储

程序地址空间

映射文件

共享库和程序

位置无关的代码

Intel 386 中的分段

嵌入式架构

地址空间槽

非一致存储

存储对齐

练习

第3章 目标文件

一个目标文件中都有什么?

设计一个目标格式

无格式的目标格式:MS-DOS .COM文件

代码节:Unix a.out文件

a.out头

与虚拟存储器交互

重定位:MS-DOS EXE文件

符号和重定位

可重定位的a.out

重定位入口

符号和字符串

a.out小结

Unix ELF

可重定位文件

ELF可执行文件

ELF小结

IBM 360目标格式

ESD记录

TXT记录

RLD记录

END记录

小结

Microsoft可移植可执行格式

PE专用节

运行一个PE可执行文件

PE和COFF

PE小结

Intel/Microsoft OMF文件

OMF记录

OMF文件的细节

OMF小结

目标格式的对比

项目

练习

第4章 存储器分配

节和地址

简单的存储器布局

多重节类型

节和页面对齐

公共块和其他特殊节

公共

C++副本调动

初始化器和终止化器

特殊表

x86节存储器分配

连接器控制脚本

嵌入式系统的存储器分配

实践中的存储器分配

Unix a.out连接器中的存储器分配

ELF中的存储器分配

Windows连接器中的存储器分配

练习

第5章 符号管理

绑定和名字判定

符号表格式

模块符号表

全局符号表

符号判定

特殊符号

名字管理

简单的C和Fortran名字管理

C++类型编码:类型和作用域

连接时类型检查

弱外部符号和其他种类的符号

维护调试信息

行号信息

符号和变量信息

实践问题

练习

项目

第6章 库

库的目的

库格式

使用操作系统

Unix和Windows存档文件

Unix存档

64位扩展

Intel OMF库

创建库

搜索库

性能问题

练习

项目

第7章 重定位

硬件和软件重定位

连接时和加载时重定位

符号和节重定位

符号查找

基本重定位技术

指令重定位

x86指令重定位

SPARC指令重定位

ECOFF节重定位

ELF重定位

OMF重定位

可重连接和可重定位的输出格式

其他重定位格式

链式引用

位图

特殊段

重定位的特殊情况

练习

项目

第8章 加载和复用

基本加载

带重定位的基本加载

位置无关的代码

TSS/360位置无关代码

每例程(per-routine)指针表

内容表

ELF位置无关代码

PIC开销和优点

引导程序加载

树结构复用

复用的定义

复用的实现

复用的优点

数据

重复代码

多重区

复用小结

练习

项目

第9章 共享库

绑定时间

实践中的共享库

地址空间管理

共享库的结构

创建共享库

创建跳转表

创建共享库

创建存根库

版本名字

带有共享库的连接

带有共享库的运行

malloc漏洞——另一个共享库问题

练习

项目

第10章 动态连接和加载

ELF动态连接

一个ELF文件的内容

加载一个动态连接的程序

启动动态连接器

查找库

共享库的初始化

带有PLT的程序迟连接

动态连接的其它特征

静态初始化

库版本

运行时动态加载

Microsoft动态连接库

PE文件中的导入和导出符号

迟绑定

DLL和线程

OSF/1伪静态共享库

令共享库更快

动态连接方法的比较

第11章 高级技术

C++技术

试连接

重复代码消除

数据库方法

增量连接和重连接

连接时垃圾收集

连接时优化

连接时代码生成

连接时剖析和编配

连接时汇编器

加载时代码生成

Java连接模型

加载Java类

练习

项目

第12章 参考

Perl书籍

最后,让我们一起期待着这本书的出炉吧~~

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有