我想将现有软件编译成演示文稿,以便以后可以在不同的体系结构(和操作系统)上运行。
为此,我需要一个可以在另一个架构/操作系统上轻松运行/模拟的(字节)代码(LLVM http://llvm.org/红外?一些 RISC 汇编?)
一些随机的想法:
- 编译成JVM字节码并用java运行。限制太多? C 编译器可用吗?
- 西里尔女士。 C 编译器可用吗?
- LLVM?中间表示可以稍后运行吗?
- 编译成 RISC 架构,例如 MMIX。那么系统调用呢?
然后是系统调用映射的事情,但是例如BSD 有系统调用转换层。
是否有任何已经可以工作的系统可以将 C/C++ 编译成稍后可以在另一个体系结构上使用解释器运行的东西?
Edit
我能否将现有的 UNIX 软件编译成不那么低级的二进制文件,这样比运行完整的 x86 模拟器更容易“模拟”?与 XEN HVM 相比,它更像 JVM。
上列出了多种 C 到 JVM 编译器维基百科的 JVM 页面 http://en.wikipedia.org/wiki/Java_Virtual_Machine#C_to_bytecode_compilers。我从未尝试过其中任何一个,但它们听起来像是一个有趣的练习。
由于与 Java 语言密切相关,JVM 执行 Java 规范规定的严格运行时检查。这要求 C 字节码编译器提供自己的“宽松的机器抽象”,例如生成使用 Java 数组表示主内存的编译代码(因此指针可以编译为整数),并将 C 库链接到集中式 Java 类模拟系统调用。下面列出的大多数或所有编译器都使用类似的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)