一尘不染

Linux可执行文件是否与OS X“兼容”?

linux

如果您在基于Linux的平台上用C编译程序,然后将其移植为使用MacOS库,它将起作用吗?

来自编译器的核心机器代码是否在Mac和Linux上都兼容?

我之所以这样问,是因为两者都是基于“ UNIX”的,所以我认为这是真的,但是我不确定。


阅读 326

收藏
2020-06-02

共1个答案

一尘不染

否,Linux和Mac OS X二进制文件不是交叉兼容的。

一方面,Linux可执行文件使用一种称为ELF的格式。

Mac OS X可执行文件使用Mach-O格式

因此,即使通常在每个系统上分别编译许多库,它们也不会以二进制格式移植。

此外,Linux实际上并非基于UNIX。它确实与UNIX共享许多通用功能和工具,但是其中很多与诸如POSIX之类的计算标准有关。

编辑:

最后,要解决关于字节码的问题:制作二进制文件时,编译器通常会生成特定于您正在开发的平台的机器代码。(并非总是如此,但通常是这样。)

2020-06-02