在这种情况下,我不确定“bin”文件是什么.可能是一个固件,可能是一个目标文件,可能是任何真正的东西(它取决于上下文).
在讨论可执行文件(在Windows的情况下为exe文件)时,这些通常是自包含的包,其中包含运行它们所需的所有内容.这些文件格式通常包含所有可执行数据,字符串和其他资源,链接数据和导出,偏移量,和其他数据填充在其中.它们具有操作系统设置和环境运行所需的一切,例如需要加载的依赖库,需要运行的体系结构等.
常用的有很多不同的:
> PE您的标准Windows可执行文件和DLL格式(http://en.wikipedia.org/wiki/Portable_Executable)
> Linux和其他UNIX克隆使用的ELF(http://en.wikipedia.org/wiki/Executable_and_Linkable_Format)
> Mac可执行文件使用的Mach-O(http://en.wikipedia.org/wiki/Mach-O)
> a.out类型的遗留可执行程序包(http://en.wikipedia.org/wiki/A.out)
很多其他人(COFF,COM等).
如果操作系统支持动态可链接库(Windows上的dll,linux上的.so文件,mac上的dylib),那么它们通常共享相同的打包格式.