Windows/Linux的可执行文件的不同之处在于:
应用程序是数据和机器语言操作码,塞进文件中.可执行文件中的大多数字节不包含文本,因此可以包含0到255之间的值,即所有可能的值.人们会说这是二进制的.一个字节中有8位,因此每个字节可以说包含8个二进制数字,其中一些将是0和一些1.
Windows(PE),Linux(ELF),OS/X等(MACH-O)的可执行文件格式往往旨在解决常见问题,因此它们共享共同的功能.但是,每个平台都指定了不同的标准,因此即使平台使用相同类型的CPU,这些文件也不会跨平台兼容.
可执行文件格式不仅用于可执行文件,还用于库,它们也包含代码但从不直接由用户运行 - 只加载到内存中以满足直接可执行二进制文件的需要.
可执行文件格式的共同特征:
将这些格式与更基本的格式进行比较很有意思,例如古老的DOS .com文件,它简单地描述了要在下一个可用位置加载的64K各种"东西",并且上面列出的功能很少.
在这个意义上的二进制用于将它们与以文本格式编写的"源"文件进行比较.二进制格式只是说它们是以非文本方式编码的,并不真正与0和1二进制意义相关.