【读书笔记】《程序员的自我修养:链接、装载与库》


目录

  1. 简介
  2. 静态链接
  3. 装载与动态链接
  4. 库与运行库
  5. 索引

第1部分 简介

1.1 计算机系统

硬件部分

软件部分

系统软件

操作系统

多线程

第2部分 静态链接

2.1 编译和链接

程序构建(Build)

编译步骤

链接器

2.2 目标文件

无论是可执行文件、目标文件或库,它们实际上都是一种基于段的文件或是这种文件的集合。(P. 95)

目标文件格式

目标文件结构

ELF文件结构

链接的接口–符号

2.3 静态链接

空间与地址分配

符号解析与重定位

C++相关问题

静态库链接

BFD库

2.4 Windows平台的目标文件和可执行文件格式

Windows的二进制文件格式PE/COFF

COFF文件结构

PE文件结构

第3部分 装载与动态链接

3.1 可执行文件的装载与进程

进程虚拟地址空间

装载的方式

可执行文件如何被操作系统装载

进程虚存空间分布

Linux内核装载ELF过程简介

Windows PE的装载

3.2 动态链接

3.3 Linux共享库的组织

3.4 Windows下的动态链接

第4部分 库与运行库

指令索引