【发布时间】:2014-12-05 04:06:36
【问题描述】:
我正在寻找一种为 Windows/Mac 制作双重可执行文件的方法。也就是说,我可以在任一操作系统中执行该文件,它会运行一些我想要用于该操作系统的代码。此代码可以是脚本或(最好是)本地编译的代码,但它需要在 vanilla OS 上运行,而不需要安装任何额外的工具或库。另一个要求是它必须是单个文件。
任何人都知道这样做的方法,或者这甚至可能吗?
【问题讨论】:
标签: windows macos executable
我正在寻找一种为 Windows/Mac 制作双重可执行文件的方法。也就是说,我可以在任一操作系统中执行该文件,它会运行一些我想要用于该操作系统的代码。此代码可以是脚本或(最好是)本地编译的代码,但它需要在 vanilla OS 上运行,而不需要安装任何额外的工具或库。另一个要求是它必须是单个文件。
任何人都知道这样做的方法,或者这甚至可能吗?
【问题讨论】:
标签: windows macos executable
我可以看到这个工作的唯一方法是安装额外的工具:
现在,如果您可以避免使用交叉编译而不是二进制兼容性,那么您可能会在一个名为 RealBasic 的工具中找到答案。它最初是基于 Mac 的,但也有适用于 Windows 和 Linux 的版本。在这十年的早期,我曾经玩过它,它非常整洁,但不是我专业使用过的东西。这将如果你小心,允许你编写一次代码,并编译与本地 Mac、Linux 和 Windows 应用程序完全相同的代码。
【讨论】:
在脚本中一切正常,但在编译代码中这是不可能的,因为 WIndows 可执行文件 (exe) 与 Mac 可执行文件 (bin) 不同,而 Mac 可执行文件 (bin) 与 Linux 可执行文件不同(无论你想要什么)。
【讨论】:
只要您使用 Java 等跨平台语言,您就可以在任一操作系统上运行它。然而,本机代码将不可执行。
【讨论】:
两者之间没有任何相似之处。如果没有其他要求(例如 Windows 的 bash 解释器),任何语言的程序或脚本都不会在两台机器上运行完全相同。
【讨论】:
Mono 或 Java 可以安装在 Mac 上并运行跨平台设计的程序。如果没有这种支持多平台的特殊库,就没有共同点,也无法在两者上运行同一个应用程序。
【讨论】:
不完全是你想要的,但也许值得注意:
您可以使用 Cocotron 来编译使用 Cocoa for Windows 编写的 Obj-C 程序。效果很好!这不会为您提供一个适用于 Mac 和 Windows 的可执行文件,而是一个适用于 Mac 和一个适用于 Windows。
【讨论】:
您可能想查看 Realbasic。它是带有 IDE 的 VB 克隆语言。它将为 Windows、Mac 和 Linux 构建可执行文件。 realbasic.com
【讨论】:
您可以考虑查看与 Tcl/Tk 一起使用的 StarKit。
【讨论】: