csapp 第7章 链接 阅读笔记

第7章 链接

为什么学习关于链接的知识?

  • 理解链接器将帮助你构造大型程序
  • 理解链接器将帮助你避免一些危险的编程错误
  • 理解链接将帮助你理解语言的作用域规则是如何实现的
  • 理解链接将帮助你理解其他重要的系统概念。
  • 理解链接将使你能够利用共享库。

编译器驱动程序

静态链接

链接器任务

  • 符号解析
  • 重定位

目标文件

目标文件三种形式:

  • 可重定位目标文件
  • 可执行目标文件
  • 共享目标文件

可重定位目标文件

符号和符号表

符号解析

重定位

重定位由两步组成

  • 重定位节和符号定义
  • 重定位节中的符号引用

可执行目标文件

加载可执行目标文件

动态链接共享库

从应用程序中加载和链接共享库

  • 分发软件
  • 构建高性能Web服务器

位置无关代码

库打桩机制

处理目标文件的工具

你可能感兴趣的:(csapp)