![我可以在 Linux、*BSD 和 Illumos 上使用相同的二进制文件吗?](https://linux22.com/image/17910/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20Linux%E3%80%81*BSD%20%E5%92%8C%20Illumos%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E5%90%97%EF%BC%9F.png)
我想知道,我是否可以在三个系统上使用不加修改的程序的二进制文件?毕竟他们都是Unice。我谈论的是相同的架构。
答案1
不,你不能,因为ABI不同。一些 BSD 确实与 Linux 二进制文件具有二进制兼容性,但有一些警告(启用虚拟8086模式是一个常见问题)。然而,通常您可能需要修补源代码,因为许多二进制文件会根据源代码是为 Linux 开发的事实对其环境做出假设。据我所知,目前 Linux 内核中还没有 BSD 二进制兼容性。
安德烈·索科洛夫是致力于提供 Linux 二进制支持在没有区域的 Illumos 上,但据我所知,目前计划在 Illumos 上没有 BSD 二进制兼容性。