链接器的上下文中,有三种不同的符号:

全局符号

  • 模块 m 定义
  • 能被其他模块引用的全局符号
  • 全局链接器符号对应于非静态的 C 函数和全局变量
Link to original

外部符号

  • 由其他模块定义
  • 被模块 m 引用全局符号
  • 这些符号称为外部符号
  • 对应于在其他模块中定义的非静态 C 函数和全局变量
Link to original

局部符号

  • 只被模块 m 定义和引用的局部符号
  • 对应于带 static 属性的 C 函数和全局变量
  • 这些符号在模块 m 中任何位置都可见
  • 但是不能被其他模块引用
Link to original

每个符号都被分配到目标文件的某个,由 section 字段表示,该字段也是一个到节头部表的索引

Note

这句话的意思也就是说,c文件中的变量根据各自的定义被映射到了目标文件的某个节中