windows、linux 和 mac 可以执行什么文件格式

What file format can be executed across windows, linux and mac

给定一些纯 machine 语言命令,例如以下字节:

1011100010011010000000100000000000000000
11000011

(摘自:How to write and execute PURE machine code manually without containers like EXE or ELF?)?我知道通常需要一个 .EXE、ELF 或 .OUT 包装器,但据我所知,这些格式是特定于平台的,只是为了能够双击并 运行 它们。

有没有可以跨windows、linux、mac、运行双击的文件格式machine 代码(假设没有外部依赖) ?

Does there exist a file format that can be double-clicked across windows, linux, and mac, and run the same machine code (assuming no external dependencies) ?

简短的回答是否定的。

较长的答案是您混合了概念和抽象级别:双击不是 OS 级别的概念,也没有 OS 运行s 响应双击的二进制文件。

它们都是 运行 响应 execveCreateProcess 系统调用 的二进制文件,并且没有通用的文​​件格式Linux、Mac、OS 和 Windows.

的 OS 都可以接受

how does unity's "windows, mac and linux standalone" game build work

与 Python foo.py 文件在所有平台上工作的方式相同:有一个 native 二进制文件,解释 游戏中包含的代码。本机二进制文件在每个平台上具有不同的文件格式(ELF 在 Linux、Mach-O 在 Mac、PE 在 Windows)。