elf.h
来自「参照MINIX3写的操作系统 用GCC+NASM+BOCHS开发」· C头文件 代码 · 共 38 行
H
38 行
typedef unsigned int Elf32_Addr;
typedef unsigned short Elf32_Half;
typedef unsigned int Elf32_Off;
typedef signed int Elf32_Sword;
typedef unsigned int Elf32_Word;
#define EI_NIDENT 16
typedef struct{
unsigned char e_ident[EI_NIDENT];
Elf32_Half e_type; /*文件类型*/
Elf32_Half e_machine; /*运行程序的体系结构*/
Elf32_Word e_version; /*文件的版本*/
Elf32_Addr e_entry; /*程序入口地址*/
Elf32_Off e_phoff; /*Program header table offset(以字节记)*/
Elf32_Off e_shoff; /*Section header table offset(以字节记)*/
Elf32_Word e_flags; /*IA32 : 0*/
Elf32_Half e_ehsise; /*ELF header size*/
Elf32_Half e_phentsize; /*Program header table中每个条目(一个Program header)的大小*/
Elf32_Half e_phnum; /*Program header table 中有多少个条目*/
Elf32_Half e_shentsize; /*Section header table中每个条目(一个Section header)的大小*/
Elf32_Half e_shnum; /*Section header table 中有多少个条目*/
Elf32_Half e_shstmdx; /*包含节名称的字符串表是第几个字节(从零开始数)*/
}Elf32_Ehdr;
typedef struct{
Elf32_Word e_type; /*当前描述段的类型*/
Elf32_Off e_offset; /*段的第一个字节在文件中的偏移*/
Elf32_Addr p_vadrr; /*段的第一个字节在内存中的虚拟地址*/
Elf32_Addr p_paddr; /*在物理地址定位的相关系统中,此项是为物理地址保留*/
Elf32_Word p_filesz; /*段在文件中的长度*/
Elf32_Word p_memsz; /*段在内存中的长度*/
Elf32_Word p_flags; /*与段相关的标志*/
Elf32_Word p_align; /*对齐的方式*/
}Elf32_Phdr;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?