我下载了一个使用 GCC 4.4.4 为 x86-64 Red Hat Linux 编译的二进制文件(一个 C 程序)。
当我尝试在运行 GCC 4.2.1 的 Mac OS X(运行 Lion 以及 x86-64)上运行它时,它会说:cannot execute binary file
是否正常?它无法将其检测为二进制文件。
为什么要这样做?我相信 gcc 版本与此无关,因为该文件已经编译。它是为两台机器都运行的 x86-64 编译的。有人可以解释一下吗?
最佳答案
有不同的二进制格式。 Linux系统使用ELF用于可执行文件和库,但 Mac OS X 使用 Mach-O format . Windows 仍然使用另一个:PE format .
关于linux - 执行二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9222407/