在JVM上运行GCC和binutils

在JVM上运行GCC和binutils,gcc,jvm,cross-compiling,binutils,Gcc,Jvm,Cross Compiling,Binutils,我想知道这是否是一种在JVM上运行GCC编译器套件和binutils的方法,以便编译器生成x86/ARM/MIPS二进制文件作为其输出。这类似于交叉编译,但主机系统将是JVM,而不是本机主机系统。编译器的目标是x86/ARM/MIPS/GCC支持的任何东西 这至少对需要为目标系统使用交叉编译器的嵌入式程序员是有益的。目前,需要为主机系统构建GCC,为目标指令集ISA再次构建GCC。如果GCC将在JVM上运行,那么不管它是在Linux、Windows、BSD、Unix上运行还是在支持JVM的任何系

我想知道这是否是一种在JVM上运行GCC编译器套件和binutils的方法,以便编译器生成x86/ARM/MIPS二进制文件作为其输出。这类似于交叉编译,但主机系统将是JVM,而不是本机主机系统。编译器的目标是x86/ARM/MIPS/GCC支持的任何东西

这至少对需要为目标系统使用交叉编译器的嵌入式程序员是有益的。目前,需要为主机系统构建GCC,为目标指令集ISA再次构建GCC。如果GCC将在JVM上运行,那么不管它是在Linux、Windows、BSD、Unix上运行还是在支持JVM的任何系统上运行,编译器都可以不加修改地运行

这也可能有助于为各种主机系统移植GCC编译器套件,因为is只需要支持JVM作为运行环境


有什么意见或想法吗?

好吧,GCC已经被移植到了无数个不同的平台上,所以找到一个不支持GCC的主机平台实际上是相当困难的。它可能比任何JVM运行在更多的平台上。除非你找到一个C/C++到Java字节码的编译器,否则你就不走运了。我会回答我自己。GCC似乎不能直接针对JVM,但有一个NestedVM,它本质上将MIPS二进制文件转换为JVM。基本上,这可能就是实现的方法:首先,将GCC交叉编译器和工具链与MIPS目标结合起来,并使用NestedVM将其转换为JVM。现在我们有了一个在JVM上运行的GCC到MIPS工具链。接下来,我们需要引导MIPS GCC编译器来生成目标体系结构二进制文件。这有点复杂,但可能是可行的。我还发现一个追溯到2001年的旧java字节码被认为是不好的:好吧,GCC已经被移植到了无数个不同的平台上,所以找到一个不支持GCC的主机平台实际上是相当困难的。它可能比任何JVM运行在更多的平台上。除非你找到一个C/C++到Java字节码的编译器,否则你就不走运了。我会回答我自己。GCC似乎不能直接针对JVM,但有一个NestedVM,它本质上将MIPS二进制文件转换为JVM。基本上,这可能就是实现的方法:首先,将GCC交叉编译器和工具链与MIPS目标结合起来,并使用NestedVM将其转换为JVM。现在我们有了一个在JVM上运行的GCC到MIPS工具链。接下来,我们需要引导MIPS GCC编译器来生成目标体系结构二进制文件。这有点复杂,但可能是可行的。我还发现一个追溯到2001年的旧java字节码被认为是不好的: