ELF & PE & COFF
目标文件格式
Name |
Full Name |
OS |
e.g. |
View Tool |
ELF |
Executable And Linkable |
Linux |
.o/.so |
objdump/readelf |
PE |
Portable Executable |
Windows |
.exe/.dll/.ocx/.sys/.com |
PETool |
COFF |
Common file format |
|
.obj |
objdump/dumpbin |
目标文件类型
Type |
|
Mean |
Linux |
Windows |
可重定位文件 |
Relocatable File |
包含适合于与其他目标文件链接来创建可执行文件或者共享目标文件的代码和数据 |
.o |
.obj |
可执行文件 |
Executable File |
包含适合于执行的一个程序,此文件规定了exec() 如何创建一个程序的进程映像 |
/bin/bash文件 |
.exe |
共享目标文件 |
Shared Object File |
包含可在两种上下文中链接的代码和数据。首先链接编辑器可以将它和其它可重定位文件和共享目标文件一起处理,生成另外一个目标文件。其次,动态链接器(Dynamic Linker)可能将它与某个可执行文件以及其它共享目标一起组合,创建进程映像。 |
.so |
.dll |
- COFF是由Unix System V Release 3首先提出并且使用的格式规范,后来微软公司基于COFF格式,制定了PE格式标准,并将其用于当时的Windows NT系统。System V Release 4在COFF的基础上引入了ELF格式,目前流行的Linux系统也以ELF作为基本可执行文件格式。
参考
linux,windows 可执行文件(ELF、PE)