链接

链接
定义:将各种代码和数据部分收集起来组成一个单一文件的过程。
发生时期:编译时,加载时,运行时。
静态链接:可重定位的目标文件->完全链接的可执行文件

  1. 主要任务:
    符号解析:符号引用和符号定义一一对应
    重定位:符号定义与存储器位置一一定义
  2. 可重定位的目标文件:
    ELF头
    .txt
    .rodata
    .data
    .bss
    .systab
    ...
    节头部表
  3. 符号:
    全局符号
    外部符号
    本地符号
  4. 符号表
    Name Value Size Type Bind Ot Ndx Name
  5. 符号解析:
    符号引用与符号表的定义联系起来。
  6. 解析多重定义的全局符号
    强符号:函数和已初始化的全局符号。
    弱符号:未初始化的全局符号。
    规则:
    1.不允许有多个强符号。
    2.有一个强符号和多个弱符号,选择强符号。
    3.有多个弱符号,任意选择一个。
全部评论
这种我总是看的迷迷糊糊学不懂的样子
点赞 回复 分享
发布于 2022-07-28 13:14

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
10-04 17:25
门头沟学院 Java
snqing:Java已经饱和了,根本不缺人。随便一个2000工资的都200人起投递
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务