静态链接(五)

2018-01-26  本文已影响0人  7bfedbe4863a

C++相关

重复代码消除
  1. 全部保留
  2. 每个模板的实例单独放在一个段里(外部内联函数和虚函数表也类似),它有一个问题,比如说相同名称的一个段可能会拥有不同的内容,会导致同一个函数编译出来的结果不同。
函数级别链接
全局构造与析构
  1. .init,保存的是可执行指令(在main之前执行)
  2. .fini,保存着进程终止代码指令(在main之后执行)
要使两个编译器变异出来的目标文件能够相互链接的条件有:
ABI
ABI & API

相同点:

不同点:

决定目标文件之间是否二进制兼容:

静态库链接

上一篇下一篇

猜你喜欢

热点阅读