如何在Mac OS X中打开Linux的`.so`文件

7

我的 Linux .so 文件可以在 Ubuntu 中使用 fopen() 命令打开,但是当我尝试在 Mac OS X 10.6 中使用 fopen() 命令打开文件时,它失败了。

错误是文件类型无法识别。如何使 Linux 库或工具在不重新编译的情况下在 Mac OS X 10.6 上运行?


MacOS对于如何打开Ubuntu共享对象文件一无所知...你可能需要在MacOS X的位置上安装Ubuntu,或者也许是双重启动? - Michael Dautermann
是的,dlopen()函数。Linux二进制文件与Mac OS X的完全不同,因此我需要重新编译,而不是其他方式。 - user1377049
1个回答

18

Linux二进制文件与Mac OS X的二进制文件完全不同,即使在相同的架构下也是如此。首先,Linux二进制文件使用ELF格式,而Mac OS X的二进制文件则基于Mach-O格式。但即使这些格式相同,操作系统接口也不同。

因此,Mac OS X无法直接运行Linux二进制文件。最安全的方法是在虚拟机中安装Linux,例如VirtualBox。然后您就可以拥有一个完整的Linux系统,可以做任何想做的事情,包括通过共享文件夹访问Mac OS X主机上的文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接