目标文件是源代码编译后但未进行链接的中间文件,其与可执行文件的内容和结构很相似,所以目标文件可与可执行文件格式一起采用一种格式进行存储。
ELF文件类型 | 说明 | 实例 |
可重定位文件 | 这类文件包含了代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也可以归为这一类 | Linux的.o Windows的.obj |
可执行文件 | 这类文件包含了可以直接执行的程序,它的代表就是ELF可执行文件,他们一般没有扩展名 | 比如/bin/bash文件 Windows的.exe |
共享目标文件 | 这种文件包含了代码和数据,可以在以下两种情况使用,一种是链接器可以使用这种文件跟其他的可重定位文件和共享目标文件链接,产生新的目标文件,第二种是动态链接器可以将几个这种共享目标文件与可执行文件结合,作为进程映像的一部分来运行 | Linux的.so,如/lib/glibc-2.5.so Windows的DLL |
核心转储文件 | 当进程意外终止时,系统可以将该进程的地址空间的内容及终止时的一些其他信息转储到核心转储文件 | Linux下的core Dump |