首页 > 其他 > 详细

ELF文件格式

时间:2014-04-23 19:44:52      阅读:467      评论:0      收藏:0      [点我收藏+]

ELF——Linux下可执行文件格式

 

1、类型

         常见的ELF格式文件包括:

bubuko.com,布布扣

                                                                 ELF文件格式类型

 

2、常用工具

 

     2.1 objdump ——查看文件结构信息

bubuko.com,布布扣

 

    2.2 nm ——查看对象文件的符号信息

 bubuko.com,布布扣

 

   

3、目标文件结构

bubuko.com,布布扣

                                                                         程序与目标文件

       ELF文件的开头是一个“头文件”(File Header):描述了整个文件的文件属性,包括文件是否可执行、

是静态链接还是动态链接及入口地址(如果是可执行文件)、目标硬件、目标操作系统等信息,文件头还

包括一个段表(section table),段表是一个描述文件中各个段的数组,包含文件中各个段在文件中的偏移位置

以及段的属性等,从段表可以得到每个段的所有信息。

 

  问题:文件结构中,代码段为什么和数据段分开?

(1)防止程序指令被修改,设置代码段权限为只读,设置数据段权限为可读写  

(2)代码段和数据段分开有利于提高程序的局部性,现代CPU缓存一般设计为数据缓存和指令缓存分离,指令和数据

分开存放可以提高CPU缓存命中率。

  (3)共享指令,当系统运行多个程序的副本时,它们指令时一样的,因此内存只需保存一份程序的指令代码。

每个副本进程的数据区是进程私有,可以节省内存。

ELF文件格式,布布扣,bubuko.com

ELF文件格式

原文:http://www.cnblogs.com/luosongchao/p/3682410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!