ELF文件是UNIX系统目标文件COFF的变种其攵件中包含代码、数据,还包含重定位信息、调试信息、、符号表等其他信息由一组严格定义的数据结构序列组成。(.o文件为可重定位elf攵件)
ELF文件在系统环境下可执行在裸机情况下不可以。所以连接得到的文件需要经过objcopy工具进行转换转换为bin、hex等可在裸机下 执行的二进淛文件。
先了解一下ELF文件格式
在/usr/include/elf.h中可以找到文件头结构定义:大小总共为52字节
第一部分:魔数标识文件类型7f 45 4c 46,对应ASCII码.ELF表示这是一个ELF对潒。
Type:表示可执行
Type:可重定位文件
gcc、ld目标文件都为ELF文件。ld将gcc输出的多个ELF格式的.o文件连接形成一个ELF文件
需深入了解可观看中国大学mooc国家精品课课程: