关于各版本 linux 的可执行文件的格式说明 所有 linux 发布版本都使用相同的二进制格式 ELF,差别主要在: 1. CPU 架构和使用的指令集 2. CPU 使用的 ABI,ABI 定义了寄存器文件的使用方式,以及函数调用、返回的方式。相 同架构的 CPU 可能使用不同的 ABI,而 ABI 不能在同一系统内混用,只能使用一种。 ABI(application binary interface) 3. 即使相同架构、相同ABI的情况下,直接从一个 linux 版本向另一版本拷贝二进制可 执行文件也可能存在问题,因为大部分的二进制文件不是静态链接的,需依赖该版本下 的一系列标准库,这些标准库的版本和编译选项会因 linux 版本不同而不同。
关于各版本 linux 的可执行文件的格式说明 所有 linux 发布版本都使用相同的二进制格式 ELF,差别主要在: 1. CPU 架构和使用的指令集 2. CPU 使用的 ABI,ABI 定义了寄存器文件的使用方式,以及函数调用、返回的方式。相 同架构的 CPU 可能使用不同的 ABI,而 ABI 不能在同一系统内混用,只能使用一种。 ABI(application binary interface) 3. 即使相同架构、相同ABI的情况下,直接从一个 linux 版本向另一版本拷贝二进制可 执行文件也可能存在问题,因为大部分的二进制文件不是静态链接的,需依赖该版本下 的一系列标准库,这些标准库的版本和编译选项会因 linux 版本不同而不同。