小编Biz*_*ake的帖子

存储在ELF文件中的"段到段映射"在哪里?

作为尝试从头开始编写编译器的一部分,我目前正处理处理ELF文件的部分.

在浏览了几篇关于它们的文章和规范之后,我仍然不太清楚存储段映射映射的部分.当观察由NASM + ld生成的小型可执行文件时,我可以看到.text部分以某种方式映射到LOAD类型的程序头,但是如何?

当给出一个小的(工作)可执行文件作为输入时,一小段readelf的输出:

Program Headers:
  Type           Offset             VirtAddr           PhysAddr
                 FileSiz            MemSiz              Flags  Align
  LOAD           0x0000000000000000 0x0000000000400000 0x0000000000400000
                 0x0000000000000084 0x0000000000000084  R E    200000

 Section to Segment mapping:
  Segment Sections...
   00     .text 
Run Code Online (Sandbox Code Playgroud)

这种映射是否需要具有可运行的可执行文件?或者它们可以完全省略,你仍然有一个有效的可执行文件?

compiler-construction elf readelf

12
推荐指数
1
解决办法
3032
查看次数

行主要订单指数

我目前正在研究将2d地形图保存为一维数组的项目.地图中的每个块都由xy坐标索引.因此,为了将地图保存为一维数组,我使用行主要顺序方法(http://en.wikipedia.org/wiki/Row-major_order)将xy坐标转换为单个索引值(其中让我把块放到一个数组中).

现在,我的问题是如何将其转换回来?我有一个唯一的号码,我必须转换回xy坐标.任何帮助,将不胜感激.^^

indexing block map coordinate

9
推荐指数
1
解决办法
2782
查看次数

标签 统计

block ×1

compiler-construction ×1

coordinate ×1

elf ×1

indexing ×1

map ×1

readelf ×1