链接

关于链接的知识,来自CSAPP

可重定位目标文件(ELF格式)

  • 头(ELF header)
  • 节(sections): .text .data … .symtab .rel.text .rel.data …
  • 节头部表(section header table)

step1 符号解析(Symbol Resolution)

把每个引用,包括全局变量和函数,与符号表symtab中一个确定的符号定义关联起来

step2:重定位(Relocation)

  1. 聚合节 ,包括 .text ,.data
  2. 修改符号引用,依赖于 .rel.text .rel.data

常用函数打包

  • 静态库(Static Libraries)
  • 共享库(Shared Libraries)