【嵌入式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.pswp.cn/pingmian/87568.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87568.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87568.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

HTML知識復習2

文章目錄 HTML5簡介什么是HTML5HTML5優勢 新增語義化標簽新增布局標簽新增狀態標簽新增列表標簽新增文本標簽 新增表單功能表單控件新增屬性input新增屬性值 新增多媒體標簽視頻標簽音頻標簽 HTML5兼容性處理 HTML5簡介 什么是HTML5 HTML5 是新一代的 HTML 標準,2…

棧(Stack)和隊列(Queue)

文章目錄 前言1. 棧(Stack)1.1 什么是棧1.2 棧的常用操作1.3 棧的模擬實現1.4 棧的應用場景1.4.1 元素序列處理1.4.2 字符串反轉1.4.3 括號匹配1.4.4 逆波蘭表達式求值1.4.5 棧的壓入、彈出序列1.4.6 最小棧1.4.7 遞歸轉循環 1.5 概念區分1.5.1 數據結構中的棧1.5.2 JVM中的虛擬…

5G MEC四大核心挑戰技術解析報告

一、MEC園區部署挑戰:數據本地化與低時延接入 痛點深度解析 數據不出園區:工業質檢、醫療影像等敏感業務需數據在本地閉環處理。但運營商基站與企業MEC間若經公網繞行,時延超50ms且存在泄露風險。L2網絡局限:傳統L2接入網無法實現基站→UPF的智能路由,導致業務流繞行城域…

【硬核拆解】英偉達Blackwell芯片架構如何重構AI算力邊界?

前言 前些天發現了一個巨牛的人工智能免費學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站 一、Blackwell誕生的算力危機(2025現狀) graph TD A[2025年AI算力需求] --> B[千億參數模型訓練能耗…

【深度學習模塊】圖像的相對位置編碼

這個是一個常用的模塊,就是我們可以對輸入的特征嵌入位置編碼。 位置編碼(Positional Encoding)是一種將空間位置信息嵌入到特征中的方法,通常用于幫助模型更好地理解特征的空間關系。 這里介紹的這個是相對位置編碼,…

osg加入實時光照SilverLining 天空和3D 云

OSG系列文章目錄 文章目錄 OSG系列文章目錄一、前言官網的介紹: 二、編譯官網例子 一、前言 osg本身也可以加入動態云,但是效果有點差強人意,這里我們使用sundog公司的動態云:SilverLining 天空和 3D 云。 官網的介紹&#xff1…

spring-ai-alibaba 1.0.0.2 學習(十二)——聊天記憶擴展包

學習spring-ai時提到過,spring-ai除了內置的InMemoryChatMemoryRepository,還提供jdbc、cassandra、neo4j三個擴展包。 而spring-ai-alibaba則提供了jdbc、redis、elasticsearch三個擴展包。 兩者都提供了jdbc擴展包,有什么區別呢&#xff…

c語言-指針(數組)練習2

題目:將數組中n個元素按逆序存放并打印出來,使用函數封裝與指針 思路: 1.定義一個數組arr[5]和用于存放數組大小(數組大小通過sizeof關鍵字來進行計算)的變量len; 2.創建三個函數initArr、printArr、rev…

Redis服務器

Redis,一款Key-Value型內存數據庫 常用于網站開發場景 Redis服務器只發布了Linux版本 Redis服務器安裝,2種辦法 自動安裝 apt install redis-server手動編譯安裝 從官網下載源碼,編譯,部署 1 安裝redis apt install redis-s…

LeetCode 第91題:解碼方法

題目描述: 一條包含字母A-Z的消息通過以下映射進行了編碼 1-A ...... 26-Z 要特別注意,11106可以映射為AAJF或KJF 06不是一個合法編碼 給你一個只含數字的非空字符串s,請計算并返回解碼方法的總數。如果沒有合法的方法解碼整個字符串&#xf…

Rocky Linux 9 源碼包安裝Mysql8

Rocky Linux 9 源碼包安裝Mysql8 大家好我是星哥,之前介紹了,Rocky Linux 9 源碼包安裝Mysql5.7。 本文將介紹如何在Rocky Linux 9操作系統上,從源碼一步步安裝MySQL 8,為您提供一個穩定、高效且可控的數據庫解決方案。 為什么…

AI小智項目全解析:軟硬件架構與開發環境配置

AI小智項目全解析:軟硬件架構與開發環境配置 一、項目整體架構 AI小智是一款基于ESP32的智能物聯網設備,集成了語音交互、邊緣計算等功能。整體系統架構如下: 終端設備:ESP32模組作為核心通信方式: WebSocket實現實…

設計模式之上下文對象設計模式

目錄 一、模式介紹 二、架構設計 三、Demo 示例 四、總結 一、模式介紹 上下文對象(Context Object)模式 最早由《Core J2EE Patterns》第二版提出,其核心目標是在多層或多組件間共享與當前作用域(如一次請求、一次會話、一次…

@Linux服務器加域退域

文章目錄 **一、加入Active Directory域****1. 準備工作****2. 配置步驟****步驟1:驗證網絡和DNS****步驟2:發現域****步驟3:加入域****步驟4:配置SSSD(可選)****步驟5:配置sudo權限&#xff08…

鴻蒙系統(HarmonyOS)4.2 設備上實現無線安裝 APK 并調試

在鴻蒙系統(HarmonyOS)4.2 設備上實現無線安裝 APK 并調試的步驟與 Android 類似,但需注意鴻蒙系統的特殊設置。以下是詳細操作指南: 鴻蒙系統特殊準備 開啟開發者選項: - 設置 > 關于手機 > 連續點擊"H…

MyBatis時間戳查詢實戰指南

在 MyBatis 中通過時間戳(Timestamp)作為查詢條件,需注意數據庫時間類型與 Java 類型的映射。以下是具體實現方式: 一、Java 實體類與數據庫字段映射 實體類定義 使用 java.sql.Timestamp 或 java.time.LocalDateTime(…

【Verilog硬件語言學習筆記4】FPGA串口通信

串口通信是系統設計中比較基部分,其原理其實也很通俗易懂。單次建立通信會傳輸8個bit,其時序也很簡單,這里就不再贅述了。其對應的實例代碼如下所示; 首先是接受部分(因為我的變量命名也很規范,通俗易懂&a…

Go 語言安裝教程(Windows 系統)

2025年07月02日 準備工作 確認系統為 Windows 7 及以上版本(推薦 Windows 10/11)。64 位系統選擇 amd64 版本安裝包,32 位系統選擇 386 版本。確保安裝目錄(默認 C:\Program Files\Go\)有至少 1GB 空間。 下載安裝包…

接口測試之postman

一、Postman功能簡介 3天精通Postman接口測試,全套項目實戰教程!! Postman是由Postdot Technologies公司打造的一款功能強大的調試HTTP接口的工具。在做接口測試的時候,Postman相當于一個客戶端,它可以模擬用戶發起的各…

【記錄】Ubuntu安裝Mysql

本文記錄Ubuntu系統下安裝Mysql 1 查看系統信息 lsb_release -a 2 使用apt下載安裝Mysql 1 打開終端,首先更新你的系統包索引,以確保所有包都是最新的 sudo apt update 2 安裝mysql服務器 sudo apt install mysql-server (也可以選擇對應的mysql-server 版本) 3 查看mysql狀…