zoukankan      html  css  js  c++  java
  • 静态链接

    1. 空间与地址分配

    1.1 按序叠加

    将输入的目标文件按照次序叠加起来。

    1.2 相似段合并

    将相同性质的段合并到一起

    两步链接法:第一步,空间与地址分配,第二步,符号解析与重定位

    1.3 符号地址的确定

    bss段不占用文件的空间,但是它在装载时占用地址空间。

    2. 符号解析与重定位

    在完成空间和地址的分配步骤后,链接器就进入了符号解析与重定位的步骤,这也是静态链接的核心内容。

    2.1 重定位

    2.2 重定位表

    2.4 指令修正方式

    绝对寻址修正和相对寻址修正的区别就是绝对寻址修正后的地址为该符号的实际地址,相对寻址修正后的地址为符号距离被修正位置的地址差。

    3. COMMON块

    Common Block机制

    编译器将未初始化的全局变量定义为弱符号处理。

    C++ 编译器在很多时候会产生重复的代码,比如模板(Templates),外部内联函数(Extern Inline Function)和虚函数表(Virtual Function Table)

    4. C++相关问题

    5. 静态库链接

    6. 链接过程控制

    7. BFD库

  • 相关阅读:
    141. Linked List Cycle【easy】
    237. Delete Node in a Linked List【easy】
    234. Palindrome Linked List【easy】
    排序_归并排序
    排序_选择排序
    排序_快速排序
    排序_冒泡排序
    排序_希尔排序
    排序_插入排序
    121. Best Time to Buy and Sell Stock【easy】
  • 原文地址:https://www.cnblogs.com/ranwuer/p/6020951.html
Copyright © 2011-2022 走看看