我知道一个操作系统中的库可能存在问题,而不是另一个操作系统,比如Android和Ubuntu,但是一个或另一个操作系统的程序可以在另一个操作系统上运行而无需重新编译吗?
如果Linux操作系统仍然是Linux,它不应该按预期工作吗? CPU \ GPU的问题是否也会产生影响?
答案 0 :(得分:0)
这可能是SO的主题,但我在Ask Ubuntu
上找到了这个Is linux binary universal to all kinds of distributions?
这是两个问题:
Linux二进制文件是否适用于所有发行版?
取决于:
如果程序在Linux内核之外什么也没用,那就是 通用除了32位或64位问题。一个Linux“你好世界” (一个简单的程序,只是打印“hello world”到终端 窗口)可能与分布无关。如果 程序正在使用任何非内核库或服务(大部分是 Linux,内核相当小),其中有差异 包括库,这些库的版本和位置 他们位于。所以在这个(最常见的)情况下,分布不是 等于。为什么许多商业计划表明他们只在一个上工作 还是一些发行版?
因为有很多Linux发行版,而且 没有人想要测试他们所有的程序。
商业供应商通常会说他们只支持 他们已经测试了他们的软件的发行版。它可能会也可能不会 从供应商的角度来看其他发行版的工作 只是如果它不适用于发行版,你就不能抱怨 他们不支持。
选择哪些分发用于测试取决于什么 供应商希望他们的客户使用。商业/专业 程序通常选择企业分布,可能通过 推理类似于“为他们的操作系统付费的人更有可能 支付我们的软件“,可能只是通过计算分配 由现有客户使用。
另见马克·沙特尔沃思(Mark Shuttleworth)(这就是我们拥有的原因 Ubuntu在第一个位置)关于Ubuntu和Ubuntu之间的二进制兼容性 Debian - Debian是Ubuntu最接近的分布。