可执行文件格式概览
可执行文件格式,常见的有很多种。
此处只至少其中相对常见的:
背景知识
文件后缀和格式
- 文件后缀和格式
- 库文件
- 动态库文件
- Win:
.dll - Linux/Android:
.so- 相关:目标文件:
.o
- 相关:目标文件:
- Mac:
.dylib
- Win:
- 静态库文件
- Win:
.lib - Linux:
.a - Mac:
.a
- Win:
- 动态库文件
- 可执行文件
- Win:.exe
- Linux/Android: 无后缀
- Mac:.app 或 无后缀
- 库文件
可执行文件格式和文件后缀
- 可执行文件格式和文件后缀
- 可执行文件格式发展历史关系图
- 离线查看
- 在线浏览
- 离线查看
- 概述
- 早期的:
a.out、通用的COFF - 目前主流的:
Win:PE- 相关文件:
.exe可执行文件、.dll动态库
- 相关文件:
Linux和Android:ELF- 相关文件:
无后缀可执行文件、.so动态库、.o目标文件
- 相关文件:
macOS/iOS:Mach-O- 相关文件:
无后缀可执行文件、.dylib动态库、.o目标文件
- 相关文件:
- 早期的:
- 详解
- 早期的
- Microsoft
MZ:DOS中的.exeMZ=Mark Zbikowski:MS-DOS主要开发者之一
- UNIX系统
- 最早的
a.out- =
assembler output
- =
- 后来通用的
COFF
- 最早的
- Microsoft
- 目前主流的
- Microsoft系的:
PE- 常见系统:
Windows - 常见后缀:
.exe- 相关的:动态链接库的
.dll
- 相关的:动态链接库的
- 常见系统:
- Linux系的:
ELF- 常见系统:
Linux各个发行版(Ubuntu、CentOS等)、(基于Linux改造的)Android - 常见后缀:
无- 相关的:动态链接库的
.so、目标文件的.o
- 相关的:动态链接库的
- 常见系统:
- Apple系的:
Mach-O- 常见系统:
macOS/iOS/watchOS/tvOS - 常见后缀:
无- 相关的:动态链接库的
.dylib
- 相关的:动态链接库的
- 常见系统:
- Microsoft系的:
- 早期的
- 可执行文件格式发展历史关系图
