Hep*_*aes 0 linux macos executable
背景
我有一个名为 mason_simulator 的 Unix 可执行文件。我通过以下方式在 macOS 终端中检查了它的属性
file mason_simulator
Run Code Online (Sandbox Code Playgroud)
结果如下:
mason_simulator: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=f020e84c15ef18a541d6bce9376f58fe3e547448, not stripped
Run Code Online (Sandbox Code Playgroud)
问题 这是否意味着无法在 macOS 中执行此文件?因为当我双击它时,会出现错误消息:“无法执行二进制文件”。
通常,为一个操作系统设计的二进制文件不能在另一个操作系统上执行。你的二进制文件是为 Linux 设计的,所以它不会在 macOS 上运行。在某些情况下,有些模拟器允许这样做,尽管 macOS 不附带模拟器。
此外,您的二进制文件与大多数 Linux 二进制文件一样,是一个 ELF 可执行文件,而 macOS 使用 Mach-O 可执行文件。macOS 内核甚至无法解析二进制格式来执行它。
如果你想在 Mac 上运行这个二进制文件,你可以尝试使用 Docker 或 Linux VM 来运行这个二进制文件。