Можно ли перевести 32-битный код сборки x86 в эквивалентный байт-код JVM и выполнить его? - PullRequest
2 голосов
/ 28 августа 2011

Можно ли преобразовать 32-битный код сборки x86 в эквивалентный байт-код JVM и выполнить его?

У меня есть библиотека Фортрана в форме .so. Я хочу выполнить дамп сборки на нем с помощью GDB, а затем с помощью какого-либо переводчика превратить его в действительный байт-код JVM.

Возможно ли это вообще?

Для простоты, давайте предположим, что меня больше не волнует независимость от платформы. И сборка, и байт-код будут работать на одном компьютере.

1 Ответ

6 голосов
/ 28 августа 2011

Возможно, это почти все, но я не думаю, что вы найдете инструмент, который сделает это за вас - поэтому вам придется делать это вручную, что может занять несколько недель или месяцев в зависимости от размера библиотеки.Конечно, это может привести к юридическим проблемам, если скомпилированная библиотека является коммерческой или защищена авторским правом.

Мне кажется, что лучше разработать небольшую оболочку Java Native Interface (JNI) в C/ C ++ и связать библиотеку с ним.Тогда вы сможете вызывать библиотечные функции из Java.

Если вы можете получить исходный код на Фортране, вы можете попробовать компилятор JVM-Fortran, например Fortran-to-Java .Тогда вы получите собственный байтовый код JVM.

...