当前位置: 首页 > article >正文

解析静态链接

文章目录

  • 静态链接
    • 空间与地址分配
      • 相似段合并
      • 虚拟地址分配
      • 符号地址确定
    • 符号解析与重定位
    • 链接器优化
      • 重复代码消除
      • 函数链接级别
    • 静态库
    • 静态链接优缺点

静态链接

一组目标文件经过链接器链接后形成的文件即可执行文件,如果没有动态库的加入,那么这个可执行文件被加载后无需再进行重定位操作(符号已经在链接阶段全部得到重定位),这种方式即静态链接,静态链接的过程分为空间与地址分配+符号解析与重定位

空间与地址分配

空间与地址分配阶段链接器需要为各个节分配虚拟地址,分配虚拟地址的第一步就是要把各个目标文件的节进行合并,现代链接器都是采用相似段合并的方式对目标文件的节进行合并,所谓相似节合并,即多个目标文件的代码节合一起,数据节合一起

相似段合并

链接器扫描所有目标文件各个节的信息,获取其长度,对相似节进行合并,合并完后的节在代码段中称为段实际上ELF文件中既能称作节(section),也能称作段(segment),但是可执行文件中一般都是称为段,并且有个更专业的术语称为执行视图,而目标文件中的节称为链接视图

在这里插入图片描述

虚拟地址分配

//a.c
extern int shared;
int main(){
   
    int a=0;</

http://www.kler.cn/a/526034.html

相关文章:

  • < OS 有关 > Android 手机 SSH 客户端 app: connectBot
  • 使用Edu邮箱申请一年免费的.me域名
  • 图论——最小生成树的扩展应用
  • iperf 测 TCP 和 UDP 网络吞吐量
  • 自创《艺术人生》浅析
  • git中有关old mode 100644、new mode 10075的问题解决小结
  • 我的毕设之路:(2)系统类型的论文写法
  • C++并发编程指南07
  • CMAKE工程编译好后自动把可执行文件传输到远程开发板
  • 深度学习探索:ChatGPT数据分析精髓 梯度下降优化方法深度剖析
  • 微软官方工具箱 PowerToys,提升工作效率
  • Conditional DETR for Fast Training Convergence论文学习
  • 负荷预测算法模型
  • 新月智能护甲系统CMIA--未来战场的守护者
  • 从巫师求雨说起
  • 如何使用formlinker,重构微软表单创建的数字生产力法则?
  • 提供算法模型管理、摄像头管理、告警管理、数据统计等功能的智慧园区开源了
  • MySQL(高级特性篇) 14 章——MySQL事务日志
  • 【memgpt】letta 课程4:基于latta框架构建MemGpt代理并与之交互
  • 如何把一个python文件打包成一步一步安装的可执行程序
  • 基于Android Studio开发平台使用CNN和LSTM的人工智能家居监控系统
  • 物业管理软件引领社区智能化转型提升服务效率与居民生活质量
  • 网站快速收录:利用新闻源的优势
  • 【外文原版书阅读】《机器学习前置知识》2.用看电影推荐的例子带你深入了解向量点积在机器学习的作用
  • AI大模型开发原理篇-8:Transformer模型
  • 走近科学IT版:Windows里Ollama关闭后还在占用11434端口