linux - 为什么ELF magic number中没有16位信息?

标签 linux elf magic-numbers

在ELF-header中,e_ident[EI_CLASS]的值可以是1或2,表示32位操作系统或64位操作系统。但是从历史上我们知道,ELF最早出现在1993年发布的Solaris 2.0中。然而,广泛使用的32位处理器Pentium Pro直到1995年才出现。 那么ELF头为什么没有16位甚至8位的信息呢?

最佳答案

第一个“广泛使用”的 32 位 CPU 是 Intel 80386这是更老的。

然后我们有关于 SUN 和他们的故事 SPARC与 386 的时间框架大致相同的体系结构。

Solaris 是 SUN 在 1990 年代早期为其机器开发的,接近第一个 64 位系统实际开始出现的时间。

ELF(Executable and Linkable Format 的首字母缩写)是在 1980 年代后期开发的,当时所有主要的 Unix 变体都在纯或混合(想想 Motorola 68000)32 位系统上运行。

关于linux - 为什么ELF magic number中没有16位信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40974754/

相关文章:

linux - 使 menuconfig 从 ti-processor-sdk-linux-am335x-evm-01.00.00.03 执行错误

c - 将魔数(Magic Number)分配给命名结构成员有什么问题?

c - 提取 C 二进制文件中的 _fini

linux - Linux ASLR 究竟如何随机化堆栈位置

windows - EWOULDBLOCK 相当于 Windows Perl 下的 errno

java - 魔数(Magic Number)文件检查

linux - checkpatch.pl 是如何工作的,以及通过在补丁上运行它究竟能得到什么?

linux - 如何根据命令输出为 make 中的 -L 和 -l 设置正确的值

c++ - 多次调用 madvise

c++ - 64位编译的opencv在32位ubuntu中运行