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

【嵌入式ARM汇编基础】-ELF文件格式内部结构详解(三)

ELF文件格式内部结构详解(三)

文章目录

  • ELF文件格式内部结构详解(三)
    • 12、动态部分和动态加载
    • 13、依赖加载(需要)
    • 14、程序重定位
      • 14.1 静态重定位
      • 14.2 动态重定位
      • 14.3 全局偏移表 (GOT)
      • 14.4 过程链接表 (PLT)

12、动态部分和动态加载

ELF 文件格式中的 .dynamic 部分用于指示加载器如何链接并准备执行二进制文件。

我们可以使用 readelf -d 命令详细查看 ELF 文件的动态部分。

在这里插入图片描述

在这里插入图片描述

这些段由加载器处理,最终生成一个可运行的程序。与我们见过的其他表一样,每个条目都有对应的类型,详细说明了如何解释它,以及其数据相对于动态段起始位置的位置。

令人困惑的是,动态头文件还维护着自己的符号表和字符串表,它们独立于 ELF 文件的主字符串表和符号表。它们的位置由 STRTAB 和 SYMTAB 表项指定,其大小分别由 STRSZ 字段(以字节为单位的字符串表大小)和 SYMENT 字段(动态符号表中的符号条目数)决定。

13、依赖加载࿰

http://www.xdnf.cn/news/14829.html

相关文章:

  • 《AI for Science:深度学习如何重构基础科学的发现范式?》
  • 用户行为序列建模(篇十)-【加州大学圣地亚哥分校】SASRec
  • mybatis-plus从入门到入土(一):快速开始
  • 【学习】《算法图解》第八章学习笔记:平衡树
  • Linux下基于C++11的socket网络编程(基础)个人总结版
  • 智能新纪元:大语言模型如何重塑电商“人货场”经典范式
  • 电子计数跳绳原型
  • X-Search:Spring AI实现的AI智能搜索
  • JS中判断数据类型的方法
  • 左神算法之矩阵旋转90度
  • linux运维学习第10周
  • 设计模式:观察者模式 (Observer) 案例详解
  • 消息队列:Redis Stream到RabbitMQ的转换
  • MongoDB06 - MongoDB 地理空间
  • PyQt5—QPushButton 功能 API 学习笔记
  • Zynq7020 Linux更新启动分区文件导致文件大小为0的处理方式
  • 力扣第84题-柱状图中最大的矩形
  • Webpack中的Loader详解
  • 用户行为序列建模(篇六)-【阿里】DSIN
  • 实战篇----利用 LangChain 和 BERT 用于命名实体识别-----完整代码
  • flask使用-链接mongoDB
  • Python爬虫-爬取汽车之家全部汽车品牌及车型数据
  • ListExtension 扩展方法增加 转DataTable()方法
  • Lua现学现卖
  • DOP数据开放平台(真实线上项目)
  • 电商返利APP架构设计:如何基于Spring Cloud构建高并发佣金结算系统
  • OpenLayers 下载地图切片
  • 解决cursor无法下载插件等网络问题
  • vue-29(创建 Nuxt.js 项目)
  • 从用户到权限:解密 AWS IAM Identity Center 的授权之道