Ho una subroutine enorme scritta in Fortran che devo usare in un programma Java. Come posso chiamarlo? Sto usando Ubuntu 10.04.Chiamare una subroutine Fortran da Java
risposta
Dai un'occhiata a this document, dettaglia il processo di integrazione del codice nativo (fortran/c) con Java. Il risultato, ovviamente, dipenderà dalla piattaforma.
La carta a cui @extraneon si riferisce è il modo in cui ho integrato una subroutine Fortran in un programma Java un paio di anni fa. Tuttavia, se provassi a farlo di nuovo oggi, esaminerei l'interoperabilità con le funzioni C definite nello standard Fortran 2003 e implementate dalle versioni recenti di alcuni compilatori. Spero di poter compilare la subroutine di Fortran per guardare, per JNI, come se fosse scritta in C. In questo modo è possibile ritagliare il wrapper C.
E se il compilatore non implementa l'interoperabilità con le funzionalità di C, fuggi e ottieni quello che fa.
EDIT: un altro pensiero mi viene in mente: Se la subroutine Fortran è enorme nel suo tempo di esecuzione si dovrebbe pensare di integrazione con Java avendo Java messo alcuni dati di input in un file, e modificando il Fortran per ottenere il suo input dal file. Quindi il programma Java potrebbe effettuare una chiamata al sistema per avviare Fortran. Passa i risultati allo stesso modo. Questo è un vero e proprio kludge, ma probabilmente lo troverai più facile da implementare che passare per JNI. Inoltre, è possibile implementarlo come uno stop-gap mentre si combatte con JNI e interoperabilità, ecc.
- 1. Subroutine pure in Fortran - Ottimizzazione del compilatore
- 2. Chiamare una subroutine in OOP Perl
- 3. Come chiamare le funzioni R da Fortran?
- 4. R: Vantaggi dell'utilizzo di una subroutine Fortran con wrapper .Call e C/C++ anziché .Fortran?
- 5. Can Vim do Fortran completamento degli argomenti di subroutine
- 6. Fortran DEALLOCATE
- 7. Chiamare Rust da Java
- 8. Chiamare Java da MATLAB?
- 9. variabili di passaggio da una subroutine Perl
- 10. Funzioni di sovraccarico con Fortran
- 11. fortran, passando gli array allocabili a una subroutine con limiti a destra
- 12. Chiamare una funzione Fortran da Julia, restituendo un array: funzione sconosciuta, segfault?
- 13. Come chiamare C++ da Java?
- 14. Come definire una subroutine in PowerShell
- 15. Fortran - interfaccia esplicita
- 16. array di oggetti estesi in Fortran
- 17. Chiamare una funzione clojure molto semplice da Java non funziona
- 18. Come chiamare un metodo python da una classe java?
- 19. javax script come chiamare una funzione in JavaScript da Java
- 20. Come chiamare una funzione java da python/numpy?
- 21. Chiamare il metodo API Win32 da Java
- 22. Chiamare le funzioni Javascript da un'applet Java
- 23. Chiamare le classi Java da IzPack
- 24. Chiamare un'API Java da .NET - metodo migliore
- 25. Come chiamare un servlet da codice Java
- 26. Come chiamare la funzione C# da java
- 27. Terminare un'iterazione di un loop da una subroutine
- 28. Come chiamare la funzionalità C++ da java
- 29. Differenza tra INCLUDE e moduli in Fortran
- 30. R & Fortran chiama
Questo dipende dalla piattaforma. Potresti voler aggiungere ulteriori informazioni alla tua domanda. –