是否可以将x86 32位汇编代码转换为等效的JVM字节码并执行它?

Sha*_*iar 2 java assembly jvm bytecode

是否可以将x86 32位汇编代码转换为等效的JVM字节码并执行它?

我有.so形式的Fortran库.我想使用GDB对它执行汇编转储,然后使用某种转换器将其转换为有效的JVM字节码.

这甚至可能吗?

为简单起见,我们假设我不再关心平台独立性了.程序集和字节码都将在同一台机器上运行.

Rob*_*ert 6

可能几乎所有东西,但我不认为你会找到一个工具,为你做到这一点 - 因此你必须手动完成,这可能需要几周或几个月,具体取决于库的大小.当然,如果编译的图书馆是商业图书馆或受版权保护,这可能会引起法律问题.

在我看来,更好的方法是在C/C++中开发一个小的Java Native Interface(JNI)包装器并将库链接到它.然后,您将能够从Java调用库函数.

如果您可以获得Fortran源代码,您可以尝试使用Fortran-to-Java等JVM-Fortran编译器.然后你会得到原生的JVM字节码.