可重定位文件(Relocatable File):
文件类型:.o文件
用途:包含代码和数据段,供链接器(Linker)在链接过程中使用。这种文件并不能直接执行,而是需要与其他可重定位文件和库链接,生成可执行文件或共享库。
标识:文件头中的e_type字段值为ET_REL。
可执行文件(Executable File):
文件类型:实际的二进制可执行文件,如常见的Linux可执行文件
用途:包含可以直接加载到内存并执行的代码和数据。这类文件经过链接器处理,可以在操作系统加载器的帮助下执行。
标识:文件头中的e_type字段值为ET_EXEC。
共享库(Shared Object File):
文件类型:.so文件(windows中的DLL文件)
用途:包含可以在运行时动态加载的代码和数据段。这种文件通常用作动态链接库,允许多个可执行文件共享同一份代码,减少内存占用和磁盘空间。
标识:文件头中的e_type字段值为ET_DYN。
核心转储文件(Core Dump File):
文件类型:核心转储文件
用途:保存进程在某个时间点的内存映像,通常在程序崩溃时生成。开发人员可以使用这些文件来调试程序,找出导致崩溃的原因。
标识:文件头中的e_type字段值为ET_CORE。