Tengo una gran subrutina escrita en Fortran que necesito usar en un programa Java. ¿Cómo puedo llamarlo? Estoy usando ubuntu 10.04.Llamar a una subrutina Fortran desde Java
Respuesta
Eche un vistazo a this document, detalla el proceso de integración del código nativo (fortran/c) con Java. El resultado será, por supuesto, dependiente de la plataforma.
El documento al que se refiere @extraneon es la forma en que integé una subrutina Fortran en un programa Java hace un par de años. Sin embargo, si intentara hacerlo nuevamente hoy, analizaría el uso de la interoperabilidad con las características C que están definidas en el estándar Fortran 2003 e implementadas por versiones recientes de algunos compiladores. Espero poder compilar la subrutina de Fortran para mirar, a JNI, como si estuviera escrita en C. De esta forma podrías cortar el envoltorio de C.
Y si su compilador no implementa la interoperabilidad con las características C, zanje y obtenga una que sí lo haga.
EDIT: ocurre otra idea para mí: Si la subrutina de Fortran es muy importante en su tiempo de ejecución se debe pensar en su integración con Java por tener Java poner algunos datos de entrada en un archivo, y modificando el Fortran para conseguir su entradas del archivo. Entonces el programa Java podría hacer una llamada al sistema para iniciar el Fortran. Devuelve los resultados de la misma manera. Este es un verdadero desafío, pero probablemente le resultará más fácil implementarlo que hacerlo a través de JNI. Además, puede implementar esto como un intervalo mientras lucha con JNI y la interoperabilidad, etc.
- 1. Llamar código fortran desde C#
- 2. Llamar a una subrutina desde un módulo diferente en VBA
- 3. Llamar a una clase java desde perl
- 4. llamar a Java desde PHP
- 5. Llamar a Java desde Python
- 6. ¿Llamar a Java desde MATLAB?
- 7. llamar a Java desde Clojure
- 8. ¿Cuándo debería usar & para llamar a una subrutina de Perl?
- 9. Llamar a clases Java desde IzPack
- 10. Llamar a funciones Java desde Clojure
- 11. ¿Cómo llamar a C++ desde Java?
- 12. ¿Cómo puedo llamar a Perl desde Java?
- 13. Cómo llamar a Clojure Macros desde Java?
- 14. Llamar a cualquier método Java desde C#
- 15. llamar a Java desde PHP exec
- 16. Cómo llamar a una función variadica de Clojure desde Java
- 17. Llamar a una API de Java desde .NET: mejor enfoque
- 18. Fortran: pasando el mismo conjunto como dos argumentos ficticios a la subrutina
- 19. ¿Fortran conserva el valor de las variables internas a través de llamadas de función y subrutina?
- 20. límites de matriz teniendo en FORTRAN durante la llamada a subrutina
- 21. Llamar a una subrutina en la programación orientada a objetos Perl
- 22. ¿Cómo puedo llamar elegantemente a una subrutina Perl cuyo nombre se mantiene en una variable?
- 23. ¿Cómo llamar una función interna a una subrutina en un módulo?
- 24. Haciendo DLL Fortran y llamarlo desde C#
- 25. Llamar a .jar desde ColdFusion
- 26. Llamar a una función MATLAB desde C#
- 27. Llamar a una aplicación desde otra aplicación
- 28. Cómo llamar a objetos y funciones Java desde CPython?
- 29. Cómo llamar a la funcionalidad C++ desde java
- 30. Rhino: Cómo llamar a la función JS desde Java
Esto depende de la plataforma. Es posible que desee agregar información adicional a su pregunta. –