ELF文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,它有三种不同的类型:
-
可重定位的目标文件(Relocatable,或者Object File)
-
可执行文件(Executable)
-
共享库(Shared Object,或者Shared Library)
ELF格式提供了两种不同的视角,链接器把ELF文件看成是Section的集合,而加载器把ELF文件看成是Segment的集合。
有一篇文章介绍elf文件的格式以及加载过程介绍的很详细,可以看一下,地址:http://www.iteye.com/topic/1121480
BIN文件是直接的二进制文件,内部没有地址标记。bin文件内部数据按照代码段或者数据段的物理空间地址来排列。一般用编程器烧写时从00开始,而如果下载运行,则下载到编译时的地址即可。
在Linux OS

本文介绍了ELF文件格式,它是UNIX系统中可执行文件的标准格式,包括可重定位目标文件、可执行文件和共享库三种类型。ELF格式在链接器和加载器中有不同的视角,并详细解释了其结构。相比之下,BIN文件是二进制文件,没有地址标记,适用于无操作系统的嵌入式环境。在Linux上,执行文件通常是遵循ELF格式的,而Embedded环境中,可能需要通过objcopy将ELF转换为纯二进制文件以避免运行问题。
最低0.47元/天 解锁文章
5932

被折叠的 条评论
为什么被折叠?



