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

rob*_*bor 2 windows macos executable

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

任何人都知道这样做的方法还是这样甚至可能?

Joh*_*udy 9

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

  • 脚本: Mac(bash shell)和Windows(具有2:PowerShell和原始版本,不知道其技术名称)之间的命令解析器是非常不同的.你要么必须有服务的Unix/Cygwin的/插入-其他- UNIXy,这里的环境安装在Windows中,或使用类似Perl或其他脚本语言.无论哪种情况,至少 Windows盒子,可能还有Mac,都需要额外的开箱即用工具.
  • 可执行文件:唯一可以解决此问题的方法是使用Java,.NET/Mono或其他一些基于字节码的跨平台虚拟机环境.因此,您仍然依赖于非收件箱中的工具.(IIRC,Java不附带Windows,Mono不附带Mac.)
  • 其他问题:处理工具依赖关系后遇到的最大问题是两个系统上的路径识别方式不同.了解Mac路径通常是Unix风格的路径(虽然我相信"老派"Mac冒号分隔路径仍然有效).您还必须根据两种环境处理不同的文件位置和默认位置.这将是一个痛苦.

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