windows - 有没有办法为 Mac/Windows 制作双重可执行文件?

标签 windows macos executable

我正在寻找一种为 Windows/Mac 制作双重可执行文件的方法。也就是说,我可以在任一操作系统中执行该文件,它会运行我想要用于该操作系统的一些代码。此代码可以是脚本或(最好) native 编译的代码,但它需要在 vanilla OS 上运行,而不需要安装任何额外的工具或库。另一个要求是它必须是单个文件。

有人知道这样做的方法或者这甚至可能吗?

最佳答案

我能看到这个工作的唯一方法是安装额外的工具:

  • 脚本:命令解析器在 Mac(bash shell)和 Windows(有 2 个:PowerShell 和原始版本,不知道它的技术名称)之间非常不同。您要么必须在 Windows 机器上安装 Unix/Cygwin/Insert-other-UNIXy-Environment here 服务,要么使用 perl 或其他脚本语言之类的东西。无论哪种情况,至少 Windows 机器,可能还有 Mac,都需要额外的开箱即用工具。
  • 可执行文件:实现此目标的唯一方法是使用 Java、.NET/Mono 或其他一些基于字节码的跨平台虚拟机环境。因此,您仍然依赖于非现成的工具。 (IIRC,Java 不随 Windows 一起提供,Mono 不随 Mac 一起提供。)
  • 其他问题:在处理完工具依赖性后,您将遇到的最大问题是路径在两个系统上的识别方式不同。了解 Mac 路径通常是 Unix 风格的路径(尽管我相信“老式”Mac 冒号分隔路径仍然有效)。您还必须根据两种环境处理不同的文件位置和默认位置。这会很痛苦。

现在,如果您可以使用交叉编译而不是二进制兼容性,那么您可能会在一个名为 RealBasic 的工具中找到答案。 .它最初是基于 Mac 的,但也有适用于 Windows 和 Linux 的版本。在这十年的早期,我曾经玩过它,它非常简洁,但不是我专业使用过的东西。如果您小心的话,这将使您只需编写一次代码,就可以编译出与 native Mac、Linux 和 Windows 应用程序完全相同的代码。

关于windows - 有没有办法为 Mac/Windows 制作双重可执行文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1646549/

相关文章:

c++ - Windows运行时库依赖和纯C代码

windows - Chef-Client 尝试在 Windows 上安装 Java,但它已经安装

linux - Unix(BSD Unix, MacOSX) vs Linux登录setuid位区别

python - PyInstaller 和 Python3.6 - 元组索引

c - 有没有办法用C语言改变目录?

python - 不带 .py 后缀的 Sonar python 文件

python - PyQt5 和 Python 3.6 安装?

macos - zsh - OSX - Visual Studio 命令行不会粘住

MacOS X 10.9 - 将应用程序链接到 (Apple) PDFKit 框架的先前版本

windows - EV 代码签名证书或 Microsoft Authenticode 的代码签名证书