【发布时间】:2013-10-04 18:43:56
【问题描述】:
我知道一个操作系统中的库可能无法用于另一个操作系统,例如 Android 和 Ubuntu,但是来自一个或另一个操作系统的程序可以在另一个操作系统上运行而无需重新编译吗?
如果 Linux 操作系统仍然是 Linux,它不应该能够按预期工作吗? CPU\GPU不同的问题是否也有影响?
【问题讨论】:
标签: android linux ubuntu compilation distro
我知道一个操作系统中的库可能无法用于另一个操作系统,例如 Android 和 Ubuntu,但是来自一个或另一个操作系统的程序可以在另一个操作系统上运行而无需重新编译吗?
如果 Linux 操作系统仍然是 Linux,它不应该能够按预期工作吗? CPU\GPU不同的问题是否也有影响?
【问题讨论】:
标签: android linux ubuntu compilation distro
这可能与 SO 无关,但我在 Ask Ubuntu 上找到了这个
Is linux binary universal to all kinds of distributions?
这是两个问题:
Linux 二进制文件是否适用于所有发行版?
这取决于:
如果程序在 Linux 内核之外没有使用任何东西,它将是 通用,除了 32 位或 64 位问题。 Linux“你好世界” (一个简单的程序,只是将“hello world”打印到终端 window) 可能与分布无关。如果 程序正在使用任何非内核库或服务(这是大多数 Linux,内核相当小),其中存在差异 包括库,这些库是哪些版本以及在哪里 它们位于。所以在这种(最常见的)情况下,分布不是 平等的。为什么许多商业程序说他们只在一个上工作 还是几个发行版?
因为有大量的 Linux 发行版,而且 没有人想在所有这些上测试他们的程序。
商业供应商通常会说他们只支持 他们测试过他们的软件的发行版。它可能会也可能不会 从供应商的角度来看,在其他发行版上工作 只是如果它不适用于发行版,您就不能抱怨 他们不支持。
选择哪些分布进行测试取决于 供应商希望他们的客户使用。商业/专业 程序通常选择企业发行版,可能通过 类似于“为操作系统付费的人更有可能 支付我们的软件”,可能只是通过计算分布 由现有客户使用。
另请参阅 Mark Shuttleworth(这就是我们拥有 首先是 Ubuntu)关于 Ubuntu 和 Ubuntu 之间的二进制兼容性 Debian - Debian 是最接近 Ubuntu 的发行版。
【讨论】: