zoukankan      html  css  js  c++  java
  • ELF文件格式

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

     

    1、类型

             常见的ELF格式文件包括:

    image

                                                                     ELF文件格式类型

     

    2、常用工具

     

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

    sections

     

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

     nm

     

       

    3、目标文件结构

    程序与目标文件

                                                                             程序与目标文件

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

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

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

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

     

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

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

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

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

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

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

  • 相关阅读:
    JSP_内置对象_out
    POJ_2186_Popular Cows_强连通分量
    POJ_2411_Mondriaan's Dream_状态压缩dp
    POJ_2115_扩展欧几里德
    HDU_5690_快速幂,同余的性质
    POJ_1061_扩展欧几里德
    HDU_5833_高斯消元
    Delphi 使用 Datasnap 的几种三层应用技术总结
    BIM 开发商 --广州
    Cola Cloud 基于 Spring Boot, Spring Cloud 构建微服务架构企业级开发平台
  • 原文地址:https://www.cnblogs.com/luosongchao/p/3682410.html
Copyright © 2011-2022 走看看