程序员的自我修养—链接、装载与库9787121085116
正版图书,可开发票,请放心购买。
¥
74.25
7.5折
¥
99
全新
仅1件
作者俞甲子,石凡,潘爱民
出版社电子工业出版社
ISBN9787121085116
出版时间2008-08
装帧平装
开本16开
定价99元
货号10715015
上书时间2024-11-20
商品详情
- 品相描述:全新
- 商品描述
-
目录
第1部分 简介
第1章 温故而知新
1.1 从Hello World说起
1.2 万变不离其宗
1.3 站得高,望得远
1.4 操作系统做什么
1.4.1 不要让CPU打吨
1.4.2 设备驱动
1.5 内存不够怎么办
1.5.1 关于隔离
1.5.2 分段(Segmentation)
1.5.3 分页(Paging)
1.6 众人拾柴火焰高
1.6.1 线程基础
1.6.2 线程安全
1.6.3 多线程内部情况
1.7 本章小结
第2部分 静态链接
第2章 编译和链接
2.1 被隐藏了的过程
2.1.1 预编译
2.1.2 编译
2.1.3 汇编
2.1.4 链接
2.2 编译器做了什么
2.2.1 词法分析
2.2.2 语法分析
2.2.3 语义分析
2.2.4 中间语言生成
2.2.5 目标代码生成与优化
2.3 链接器年龄比编译器长
2.4 模块拼装——静态链接
2.5 本章小结
第3章 目标文件里有什么
3.1 目标文件的格式
3.2 目标文件是什么样的
3.3 挖掘SimpleSection
3.3.1 代码段
3.3.2 数据段和只读数据段
3.3.3 BSS段
3.3.4 其他段
3.4 ELF文件结构描述
3.4.1 文件头
3.4.2 段表
3.4.3 重定位表
3.4.4 字符串表
3.5 链接的接口——符号
3.5.1 ELF符号表结构
3.5.2 特殊符号
3.5.3 符号修饰与函数签名
3.5.4 extern “C”
3.5.5 弱符号与强符号
3.6 调试信息
3.7 本章小结
第4章 静态链接
4.1 空间与地址分配
4.1.1 按序叠加
4.1.2 相似段合并
4.1.3 符号地址的确定
4.2 符号解析与重定位
4.2.1 重定位
4.2.2 重定位表
4.2.3 符号解析
……
第5章 Windows PE/COFF
第3部分 装载与动态链接
第6章 可执行文件的装载与进程
第7章 动态链接
第8章 Linux共享库的组织
第9章 Windows下的动态链接
第4部分 库与运行库
第10章 内存
第11章 运行库
第12章 系统调用与API
第13章 运行库实现
附录A
索引
内容摘要
本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。本书对装载、链接和库进行了深入浅出的剖析,并且辅以大量的例子和图表,可以作为计算机软件专业和其他相关专业大学本科高年级学生深入学习系统软件的参考书。同时,还可作为各行业从事软件开发的工程师、研究人员以及其他对系统软件实现机制和技术感兴趣者的自学教材。
主编推荐
"√ 每个技术专题都配备大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。 √ 提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。 √ 能将程序的编译和运行过程所涉及的各种技术全面地串连起来介绍的,至今尚未有先例。 √ 覆盖Windows和Linux两个平台,详述应用程序在编译、链接和运行时所发生的各种事项。 √ 学习研究他人的代码是枯燥而耗时的,先行者的经验能避免重复劳动,直指经验和关键。 √ 学会编程“易筋经”,可以开发操作系统、编译器,甚至是开发一种新的程序设计语言。 √ 由一个很小很简单的问题或示例入手,层层剥开、深入挖掘,探究每个机制“怎么做”。 √ 务必理解“为什么这样做”,力求深入浅出、图文并茂,尽力把每一步细节呈现给读者。"
精彩内容
本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。本书对装载、链接和库进行了深入浅出的剖析,并且辅以大量的例子和图表,可以作为计算机软件专业和其他相关专业大学本科高年级学生深入学习系统软件的参考书。同时,还可作为各行业从事软件开发的工程师、研究人员以及其他对系统软件实现机制和技术感兴趣者的自学教材。
媒体评论
网易云风力荐:莫到用时再读书!俯瞰程序前世今生参透代码如何变成程序在系统中运行透过系统软件底层形成机制走进程序世界探索深层次的自己√ 每个技术专题都配备大量图、表和代码实例,力求将复杂的机制以简洁的形式表达出来。
√ 提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。
√ 能将程序的编译和运行过程所涉及的各种技术全面地串连起来介绍的,至今尚未有先例。
√ 覆盖Windows和Linux两个平台,详述应用程序在编译、链接和运行时所发生的各种事项。
√ 学习研究他人的代码是枯燥而耗时的,先行者的经验能避免重复劳动,直指经验和关键。
√ 学会编程“易筋经”,可以开发操作系统、编译器,甚至是开发一种新的程序设计语言。
√ 由一个很小很简单的问题或示例入手,层层剥开、深入挖掘,探究每个机制“怎么做”。
√ 务必理解“为什么这样做”,力求深入浅出、图文并茂,尽力把每一步细节呈现给读者。
这是一本深人阐述链接、装载和库等问题的出色图书,读来让人愉悦,你从巾可以清晰地了解程序的前世今生,彻底理解敲人的代码如何变成程序任系统中运行。通读本书不管对于开发还是trouble shootin9都会很有帮助。建议每一位希望从事系统开发、或希望更实务地理解操作系统和编译器、或不满足于只写代码的出色程序员都拥有这样一本书。
——邹飞,趋势科技(中国)研发中心专业软件要程师
本书从大处着眼,小处着手,以通俗易懂的语言,深入浅出地对系统软件的底层形成机制进行条分缕析,正合药山禅师所谓“高高山顶立,深深海底行”。循着作者的思绪一路走来,有如醍醐灌顶。畅快淋漓。非常高兴有预览此书初稿的宝贵机会,我在浏览书稿和查核相关资料的过程中,学到了很多以前未知或知之不深的内容。
——冯亮,阿里巴巴(中国)网络技术有限公司运维部系统架构师
— 没有更多了 —
以下为对购买帮助不大的评价