普通二进制格式(.bin)和Windows可执行文件(.exe)之间有什么区别?

8
什么是纯二进制格式(.bin)和Windows可执行文件(.exe)之间的区别?
3个回答

11
我不确定在这种情况下“bin”文件是什么。它可能是固件,也可能是目标文件,实际上可以是任何东西(这取决于上下文)。
当谈论可执行文件时(在Windows中的exe文件),通常是自包含的软件包,其中包含运行所需的一切内容。这些文件格式通常包含所有可执行数据、字符串和其他资源、链接数据和导出、偏移量和其他数据。它们具有操作系统设置和运行所需的所有内容,例如需要加载的依赖库、需要运行的架构等等。
有很多不同的常用格式:
- PE:标准的Windows可执行文件和dll格式 (http://en.wikipedia.org/wiki/Portable_Executable) - ELF:Linux和其他UNIX克隆使用的格式 (http://en.wikipedia.org/wiki/Executable_and_Linkable_Format) - Mach-O:Mac可执行文件使用的格式 (http://en.wikipedia.org/wiki/Mach-O) - a.out:一种传统的可执行文件包格式 (http://en.wikipedia.org/wiki/A.out)
还有许多其他格式(COFF、COM等)。
如果操作系统支持动态链接库(Windows上的dll,Linux上的.so文件,Mac上的dylibs),那么它们通常共享相同的打包格式。

5

没有纯粹的二进制格式。".bin"文件中的内容没有统一标准,可能包含任何数据。

EXE是一个具有明确定义结构以存储代码的文件。它被称为“可移植可执行”格式,并且具有以MZ开头的PE头。

http://en.wikipedia.org/wiki/Portable_Executable


1

BIN(二进制文件): BIN 文件类型主要用于“二进制文件”。二进制文件用于各种内容,并且可以与许多不同的程序相关联。通常,在文件编辑器中查看 .BIN 文件时它们会看起来像垃圾。 更多信息请点击这里

EXE(可执行文件): EXE 文件类型主要由微软公司与“可执行文件”相关。可执行文件基本上是程序的另一个名称。几乎所有在 Windows 或 DOS 下运行的程序都是 .EXE 格式。 更多信息请点击这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接