社区
Linux/Unix社区
帖子详情
求推荐Unix/Linux关于动态库的书籍
mssco
2014-01-20 05:39:39
急需要系统了解Unix/Linux关于动态库的机制、函数等,不知道有没有像《windows核心编程》第4部分那样对于dll那样详细介绍的对应于Unix/Linux下so的介绍。非常感谢。
...全文
143
3
打赏
收藏
求推荐Unix/Linux关于动态库的书籍
急需要系统了解Unix/Linux关于动态库的机制、函数等,不知道有没有像《windows核心编程》第4部分那样对于dll那样详细介绍的对应于Unix/Linux下so的介绍。非常感谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mssco
2014-01-21
打赏
举报
回复
非常感谢两位,两位所提到的书我会购买并认真阅读。
空的
2014-01-21
打赏
举报
回复
《C专家编程》里有一章讲到的,不多更多的是强调.so 比 .a的优越性~~~
沭水河畔
2014-01-20
打赏
举报
回复
之前看过一本《程序员的自我修养》,里面讲到了一些。 它的参考书目里又一本叫《Linkers & Loaders》。
嵌入式
linux
资源大汇总(1)
本人精心收集的
书籍
,学习嵌入式
linux
必备,其中有《
unix
环境高级编程》,《
unix
网络编程》,《
linux
应用程序开发详解》(华清远见版),《
linux
驱动程序开发完全手册》(宋宝华版),《构建
linux
系统》等等
书籍
在leetcode上刷题都是什么人-useful-links:对软件开发人员有用的链接
在leetcode上刷题都是什么人有用的资源 软件开发人员的有用资源 Javascript/打字稿 博客/文章/教程 这 范围、环境和闭包 面向对象编程 典型继承 混合 模块 迭代器和生成器 垃圾收集/内存管理 Javascript/Typescript 中的枚举 不变性 事件循环 区域 NPM 脚本 NPM 脚本作为构建工具 图书 工具 角 模块 指令/组件 依赖注入 DOM 操作 组件生命周期 变化检测 表现 创建一个角度库 角度编译器 调试 部署 Java 博客/文章/教程 视频课程 图书 Java - Spring/Spring-Boot 博客/文章/教程 视频课程 图书 C#、.NET 穿线 工具 数据结构和算法 博客/文章/教程 分而治之 动态规划 贪心算法 二指针技术 频率计技术 回溯 视频课程 图书 练习题 面向对象编程 函数式编程 博客/文章/教程 不变性 图书 RxJS 设计模式和 SOLID 原则 博客/文章/教程 图书
Unix
、
Linux
SDLC 业务领域 其他 面试准备
链接器和加载器.PDF(链接器和加载器 Beta 2)
内容简介 《链接器和加载器》讲述构建程序的关键工具——链接器和加载器,内容包括链接和加载、体系结构、目标文件、存储分配、符号管理、库、重定位、加载和覆盖、共享库、动态链接和加载、动态链接的共享库,以及着眼于成熟的现代链接器所做的一些变化;并介绍一个持续的实践项目,即使用Perl语言开发一个可用的小链接器。 《链接器和加载器》适合高校计算机相关专业的学生、实习程序员、语言设计者和开发人员阅读参考。 编辑
推荐
《链接器和加载器》:不管你的编程语言是什么,不管你的平台是什么,你很可能总是会涉及链接器和加载器的功能。但是你知道如何最大限度地利用它们吗?只有现在,随着《链接器和加载器》的出版,总算有一本深入完整地彻底揭示编译时和运行时过程的权威著作了。 《链接器和加载器》首先通过实例深入浅出地阐述了在不同的编译器和操作系统中链接和加载过程的差异。在这个基础上,作者提出了清晰实用的忠告,来帮助你创建更快、更清晰的代码。你将会学习如何规避和Windows DLL相关的陷阱,充分利用
UNIX
ELF库模式等。如果你对程序设计抱有非常认真的态度,那么你可以通过这本书充分地理解这个领域内最难懂的主题之一。《链接器和加载器》对于编译器和操作系统课程同样也是一本理想的补充读物。 《链接器和加载器》特性 ◆覆盖了Windows,
UNIX
,
Linux
,BeOS和其它操作系统的动态链接过程。 ◆解释了Java链接模式,以及它是如何应用在网络小应用程序和可扩展Java代码中的。 ◆帮助你编写更优雅、更高效的代码,以及构建能够被更加高效地编译、加裁和运行的应用程序。 ◆包含了一个用Perl构建链接器的练习项目,项目文件可以从网络下载得到。 媒体
推荐
“我很享受阅读这本对实现链接器和加载器的众多技术和挑战进行有效概述的书。虽然书中的多数例子都集中在今天被广泛使用的三种计算机体系结构上,但这本书也包含了很多描述过去的一些有趣和古怪的计算机体系结构的注解。通过这些真实的战例,我断定作者本人真正经历了这些事情并存活了下来给我们讲述这个故事。” ——Guy Steele 作者简介 作者:(美国)莱文(John R.Levine) 译者:李勇 莱文(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链接模型 练习 项目 参考文献 序言 几乎从有计算机以来,链接器和加栽器就是软件开发工具包中的一部分,因为它们允许使用模块(而不是一个单独的大文件)来构建程序的关键工具。 早在1947年,程序员们就开始使用原始的加载器:将程序的例程存储在多个不同的磁带上,并将它们合并、重定位为一个程序。在20世纪60年代早期,这些加栽器就已经发展得相当完善了。由于那时内存很贵且容量有限,计算机的速度很慢(以今天的标准),为了创建复杂的内存覆盖策略(以将大容量的程序加载到小容量内存中),以及重新编辑先前链接过的文件(以节省重新创建程序的时间),这些链接器都包含了很多复杂的特性。 20世纪七八十年代,链接技术几乎没有什么进展。链接器趋向于更加简单,虚拟内存技术将应用程序和覆盖机制中的大多数存储管理工作都转移给了操作系统,越来越快的计算机和越来越大的磁盘也使得重新链接一个程序或替换个别模块比仅仅链接改变过的地方更加容易了。从20世纪90年代起,链接器又开始变得复杂起来,增加了诸多现代特性,包括对动态链接共享库的支持和对C++独特要
求
的支持。同时,像IA64那样具有宽指令字和编译时访存调度特性的先进处理器架构,也需要将一些新的特性加入到链接器中,以确保在被链接的程序中可以满足代码的这些复杂需
求
。
C-plus-plus-Series:学习C ++的旅程
C ++学习规划 一。二月计划 C ++入门二刷完成 笔记记录完成 二。三月学习计划 有效的C ++完成 剑指优惠看完 计算机网络与操作系统基础知识积累与背诵 刷题100道 三。四月学习计划 更有效的C ++学习 TCP / IP编程 刷题100道 五月学习计划 STL学习 刷题100道
Linux
服务器编程 六月学习计划 深入探索C ++对象模型 准备实习 刷题100道 需要完成的
书籍
: C ++入门 有效的C ++ 更有效的C ++ STL 深入探索C ++对象模型
Linux
网络编程 服务器编程
UNIX
编程 C ++多线程 C ++入门笔记与归纳 C ++入门手册第五版笔记与知识点整合 一.C ++基础知识 二。函数 三。类 四.IO库 ##五。顺序容器 六。泛型编程 七。关联容器 八。动态内存 九。拷贝控制 十。重载运算与类型转换 十一。面向对象程序设计 十二。模板与泛型
UNIX
/
Linux
经典
书籍
推荐
UNIX
/
Linux
经典
书籍
推荐
1
unix
教程 外国教材 如果英文好的话可以看原版的 入门性的教材,在脑袋中建立起
unix
的概念并学会基本的操作。 2
unix
环境高级编程,被称为
unix
编程的圣经,看书之前,需要有操作系统基础,比如进程,内存管理,文件系统等。而且要知道
unix
下各个组件的特性。 3
unix
系统编程 比较深入,里面有好多好的东西,比如
Linux/Unix社区
23,110
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章