ELF文件中section与segment的区别
来源:互联网 发布:仙界网络直播间88 编辑:程序博客网 时间:2024/05/14 15:12
1. ELF中的section主要提供给Linker使用, 而segment提供给Loader用,Linker需要关心.text, .rel.text, .data, .rodata等等,关键是Linker需要做relocation。而Loader只需要知道Read/Write/Execute的属性。a.out格式没有这种区分。(注意现在使用gcc编译出来的a.out文件只是取该名字而已,文件格式是elf的.)
2.一个executable的ELF文件可以没有section,但必须有segment。ELF文件中间部分是共用的(也就是代码段、数据段等),如shared objects就可以同时拥有Program header table和Section Header Table,这样load完后还可以relocate。
2.一个executable的ELF文件可以没有section,但必须有segment。ELF文件中间部分是共用的(也就是代码段、数据段等),如shared objects就可以同时拥有Program header table和Section Header Table,这样load完后还可以relocate。
3. 这样设定之后,使得Loader需要做的工作大大减少了,一定程度上提高了程序加载的效率。
下图标记为红色的字段,就是segment区分Read/Write/Execute的属性。
ELF program header
int type; // loadable code or data, dynamic linking info, etc.
int offset; // file offset of segment
int virtaddr; // virtual address to map segment
int physaddr; // physical address, not used
int filesize; // size of segment in file
int memsize; // size of segment in memory (bigger if contains BSS)
int flags; // Read, Write, Execute bits
int align; // required alignment, invariably hardware page size
- ELF文件中section与segment的区别
- ELF文件中section与segment的区别
- ELF 文件中的section 和 segment
- elf & pe 文件中 主要 section.
- segment and section for c++ elf
- ELF与BIN文件区别
- ELF与BIN文件区别
- Segment/Section/Virtual Memory/Page之间的区别
- Segment/Section/Virtual Memory/Page之间的区别
- article与section的区别
- html中article、section、aside的区别与联系
- ELF格式文件和BIN文件的区别
- BIN、HEX,ELF,AXF文件的区别
- ELF格式文件和BIN文件的区别
- ELF格式文件和BIN文件的区别
- arm-elf与arm-linux的区别
- arm-elf与arm-linux的区别
- arm-elf与arm-linux的区别
- PHP & memcached
- oracle查看用户、权限和表空间等操作方法
- sed中路径处理
- 利用memcached构建高性能的Web应用程序
- 浅见之------云计算 0 (海)
- ELF文件中section与segment的区别
- ACE 6.1.2 编译问题
- 学英语的好电影
- dede:list
- PC上C内存的结构
- VC 轻松实现非客户区按钮
- javascript apply and call方法的区别
- DEDECMS织梦内容管理系统添加新文章白屏
- 上海护照办理