设为首页 加入收藏

TOP

ARM ELF 文件格式常见段名称及自定义段
2014-11-24 03:17:14 来源: 作者: 【 】 浏览:1
Tags:ARM ELF 文件 格式 常见 名称 定义

如果用arm-linux-gcc编译出来的适用于ARM架构的程序:


除了最常见的为 .text, .data, .bss 这 3 个段之外,还有其它的一些常见段,如下所示:


.strtab : String Table 字符串表,用于存储 ELF 文件中用到的各种字符串。


.symtab : Symbol Table 符号表,从这里可以所以文件中的各个符号。


.shstrtab : 是各个段的名称表,实际上是由各个段的名字组成的一个字符串数组。


.hash : 符号哈希表。


.debug_line : 调试时的行号表,即源代码行号与编译后指令的对应表。


.dynamic : 动态链接信息。


.debug : 调试信息。


.comment : 存放编译器版本信息,比如 "GCC:(GNU)4.2.0"。


.plt 和 .got : 动态链接的跳转表和全局入口表。


.init 和 .fini : 程序初始化和终结代码段。


.rodata1 : Read Only Data,只读数据段,存放字符串常量,全局 const 变量,该段和 .rodata 一样。


--------------------------------------------------------------------------------


由上可见,这些段的名字前都有一个 '.' 点符号前缀,其义表示这些段的名字为系统所保留。应用程序可以使用非系统保留的名字作为自己的自定义段名,但是自定义的段名就不能使用 '.' 符号作为前缀,否则容易和系统保留的段名冲突。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java核心语法之Java类的基本构成 下一篇Python 重定向shell执行输出

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)
·索引堆及其优化 - 菜 (2025-12-24 20:18:50)
·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)