程序员的自我修养:链接、装载与库

admin 2022年08月07日 474次浏览

程序员的自我修养:链接、装载与库

(副标题):无 ;

(作者): 俞甲子 石凡 潘爱民 ;

内容简介:

序言一

两年前,甲子跟我提起,他在考虑写一本讲述计算机程序基本工作原理的书,由于代码背后的许多细节现在难以找到完整而又实用的资料,因此,系统性地讲述这些技术要素一定非常有意义。这是我非常感兴趣的话题,因为最近几年来,我每次给学生讲课或作技术报告时,经常会提到程序背后的一些细节知识,而当有人请我推荐一些参考资料时,我很难想得出有什么恰当的参考书可供学习。我自己也曾想过要写一点这方面的书,只是一直下不了决心做这件事情。甲子的提议让我意识到,写这样一本书的机会来了。于是,我们认真规划了书的选题。按我的建议,这应该是三卷本的书,每卷独立,合起来成一体系。第一卷是基础篇,介绍程序的基本运行过程,即是您现在看到的这本书。其他两卷还需要时日和机缘。

在过去两年中,我曾经以“Inside Windows Programs”为题在多所高校作过报告,旨在介绍Windows程序背后的一些支撑技术。对于正在学习计算机或软件专业的学生,或者正在从事软件开发的工程师们,我认为理解这些支撑技术是很有必要的。试想,即使一个简单的“Hello World!”程序,也依赖于背后的输入输出库(或流库)及系统提供的模块,这种依赖性已经成为现代软件在操作系统环境下运行的一个必要条件。然而,有关这些支撑技术的系统性资料却少而又少,虽然Internet上并不缺乏任何一方面的细节信息,但是,能将程序的编译和运行过程所涉及的各种技术全面地串连起来介绍的,却尚未有先例。

甲子曾经在2006年夏天跟我实习过两个月,他帮我搭建了一个在Windows已有体系结构下将交换空间重定向到远程机器物理内存的原型系统。完成这一系统并非易事,而且甲子事前并无Windows内核编程经验,但是,他凭借扎实的计算机系统软件功底,成功地打通了从页面错误(page fault)异常例程到远程机器内存管理器之间的数据通路。在这一段.....

目录预览:

​ 程序员的自我修养:链接、装载与库
作者访谈录
序言一
序言二
序言三
导读
第1章 温故而知新
1.1 从Hello World说起
1.2 万变不离其宗
1.3 站得高,望得远
1.4 操作系统做什么
1.5 内存不够怎么办
1.6 众人拾柴火焰高
1.7 本章小结
第2章 编译和链接
2.1 被隐藏了的过程
2.2 编译器做了什么
2.3 链接器年龄比编译器长
2.4 模块拼装——静态链接
2.5 本章小结
........


[EPUB下载]