我记得几年前(2002年)有一种多部分病毒可以在linux和windows上本地运行。我不知道编译器是否可以专门制作一个可执行文件,以便它可以作为ELF和PE读取,以便操作系统将在不同的入口点开始执行。或者一个可以合并两个程序的程序,一个是使用mingw编译的,一个是在本机linux中编译的,一个程序。
我不知道这样的程序是否存在,或者它是否存在,我知道这可以用Java或某种脚本语言实现,但这不是本机程序。
想象一下可能性,我可以部署一个带有linux和窗口(可能还有os / x)库的程序,以及一个可以在任何操作系统上运行的主要可执行文件。跨平台支持将弥补更大的规模。
答案 0 :(得分:2)
没有
Windows和Linux使用截然不同的二进制文件格式。请参阅Portable Executable(Windows)和Executable and Linkable Format(Linux)。
像WINE这样的东西会在Linux上运行Windows可执行文件,但这不是一回事。
答案 1 :(得分:2)
Windows程序在开头有一个DOS存根,我刚刚通过debug.com运行了一个ELF可执行文件,它说这个exe的第一条指令是JG 0x147。也许可以用这个来完成......
答案 2 :(得分:0)
出于多种原因,这实际上是一个非常可怕的想法。
如果你想在多个操作系统上运行相同的二进制可执行文件,你的选择是Java,Mono,还有可能是NativeClient,浏览器插件谷歌正在开发解决“webapps太慢”的问题。