2010-07-12 2 views
5

У меня есть огромная подпрограмма, написанная в Fortran, которую мне нужно использовать в Java-программе. Как я могу это назвать? Я использую ubuntu 10.04.Вызов подпрограммы Fortran из Java

+1

Это зависит от платформы. Вы можете добавить дополнительную информацию к своему вопросу. –

ответ

4

Посмотрите на this document, в нем подробно описывается процесс интеграции собственного кода (fortran/c) с Java. Результат, конечно же, будет зависимым от платформы.

4

Документ, который @extraneon ссылается на то, как я интегрировал подпрограмму Fortran в программу Java пару лет назад. Однако, если бы я пытался сделать это снова сегодня, я бы рассмотрел возможность использования функциональности с функциями C, которые определены в стандарте Fortran 2003 и реализованы в последних версиях некоторых компиляторов. Надеюсь, что я могу скомпилировать подпрограмму Fortran, чтобы посмотреть на JNI, как это было написано на C. Таким образом вы можете вырезать оболочку C.

И если ваш компилятор не реализует совместимость с функциями C, канаву и получить тот, который делает.

EDIT: другая мысль приходит мне: Если Fortran подпрограмма огромна в свое время выполнения вы должны думать об интеграции с Java, имея Java поставить некоторые входные данные в файл, и изменения Fortran, чтобы получить его входы из файла. Тогда программа Java могла бы позвонить в систему, чтобы запустить Fortran. Аналогичным образом передайте результаты. Это настоящий kludge, но вам, вероятно, будет проще реализовать его, чем через JNI. Кроме того, вы можете реализовать это как стоп-зазор, когда вы боретесь с JNI и совместимостью и т. Д.

Смежные вопросы