链接器与加载器:深入理解程序构建关键工具
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
"链接器和加载器.PDF(链接器和加载器 Beta 2)"
《链接器和加载器》一书深入探讨了构建程序过程中至关重要的工具——链接器和加载器。书中涵盖了链接和加载的基本概念,不同体系结构的特性,目标文件的结构,存储分配策略,符号管理,库的使用,重定位过程,加载和覆盖机制,共享库,动态链接和加载,以及针对现代链接器的高级技术,如Java链接模型。此外,书中还提供了一个使用Perl语言开发小型链接器的实践项目。
在第一章中,作者解释了链接器和加载器的作用,探讨了历史上的地址绑定方法,并通过实例展示了不同编译器和操作系统下的链接加载过程。第二章详细介绍了各种体系结构,包括ABI(应用程序二进制接口),内存地址,指令格式,过程调用,分页和虚拟内存等。第三章讨论了目标文件的格式,如a.out,ELF,以及不同操作系统下的特定格式。
第四章关注存储空间分配,包括段和地址的关系,简单的存储布局,多段类型,段与页面对齐,公共块,以及链接器控制脚本的使用。第五章讲述了符号管理,包括名字解析,符号表格式,弱外部符号,以及调试信息的维护。第六章介绍了库的概念,库文件的格式,创建库的方法,搜索库文件的策略,以及性能考虑。
第七章详细阐述了重定位过程,包括硬件和软件重定位,基本的重定位技术,以及针对特殊情况的重定位方法。第八章涉及加载和覆盖,分析了基本加载,带重定位的加载,位置无关代码,自举加载,以及树状覆盖等概念。第九章专门讨论了共享库,包括其绑定时间,实际结构,地址空间管理,创建和使用共享库的细节。
第十章涵盖了动态链接和加载,讲解了ELF动态链接,PLT(过程链接表)的惰性过程链接,微软的DLL,以及提高共享库性能的策略。第十一章涉及了高级技术,如C++的特性,增量链接,链接时垃圾收集,链接时优化,链接时代码生成,以及Java的链接模型。
《链接器和加载器》是面向计算机科学学生,实习程序员,语言设计者和开发人员的重要参考资料,它提供了对链接器和加载器工作原理的深入理解,有助于提升代码质量和效率。
2011-10-22 上传
2023-05-25 上传
2023-05-28 上传
2023-06-10 上传
2023-05-10 上传
2023-03-29 上传
2023-03-06 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
lookingworld20
- 粉丝: 15
- 资源: 61
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命