| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> ELF格式解读-程序头与内存布局 -> 正文阅读 |
|
[C++知识库]ELF格式解读-程序头与内存布局 |
前言我们知道 如下图中只读节 以下本文案例代码:
相关编译命令
实战我们的程序头大小位置由ELF头部指定,具体可参考博主另一文章ELF格式解读-(1) elf头部与节头。 程序头其实是一个
p_type这个字段决定这个段是什么类型,下面是字段枚举表:
上面虽然类型很多,但是除了
p_flags这个节是否可读可写可执行 以下是枚举值,可以进行组合表示可读可写可执行
p_offset这个段所在文件的偏移 p_vaddr内存中的虚拟地址 p_paddr一般和p_vaddr相同 p_filesz这个段在文件中大小 p_memsz这个段在内存中的大小(一定会大于等于p_filesz,如果大于一般为对齐原因) p_align对齐数值 我们可以使用
这个段是
我们计算得到21D大小,但是段显示确实 其实部分个节区会间隔若干0填充的字节,这里正好是 比如本例中 因为段数据是连续的,所以包含上面的5字节。 我们运行本例程序查看实际内存布局:
参考Why ELF program headers have two LOAD entries, while the program layout three sections |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 4:22:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |