Ich habe eine große Subroutine geschrieben in Fortran, die ich in einem Java-Programm verwenden muss. Wie kann ich es nennen? Ich benutze Ubuntu 10.04.Aufruf einer Fortran-Subroutine aus Java
Antwort
Werfen Sie einen Blick auf this document, es beschreibt den Prozess der Integration von nativem Code (Fortran/C) mit Java. Das Ergebnis wird natürlich plattformabhängig sein.
Das Papier, auf das @extraneon verweist, ist die Art und Weise, wie ich vor ein paar Jahren ein Fortran-Unterprogramm in ein Java-Programm integrierte. Wenn ich es heute jedoch noch einmal versuchen würde, würde ich die Interoperabilität mit mit C Features untersuchen, die im Fortran 2003-Standard definiert sind und von neueren Versionen einiger Compiler implementiert werden. Ich hoffe, dass ich die Fortran-Subroutine kompilieren konnte, um nach JNI zu schauen, als ob sie in C geschrieben wäre. Auf diese Weise könnten Sie den C-Wrapper ausschneiden.
Und wenn Ihr Compiler nicht die Interoperabilität mit C-Funktionen implementieren, Graben und erhalten Sie eine, die tut.
EDIT: ein anderer Gedanke kommt mir: Wenn die Fortran-Unterprogramm in seiner Ausführungszeit ist riesig Sie es mit Java über die Integration, indem Java einige Eingabedaten in einer Datei speichern, und Modifizieren des Fortran denken sollte seine bekommen Eingaben von der Datei. Dann könnte das Java-Programm einen Aufruf an das System machen, um den Fortran zu starten. Übergeben Sie die Ergebnisse auf die gleiche Weise. Dies ist ein echter Kludn, aber Sie werden es wahrscheinlich einfacher finden, als über JNI zu gehen. Darüber hinaus könnten Sie dies als eine Zwischenlösung implementieren, während Sie mit JNI und Interoperabilität usw. kämpfen.
- 1. Java Aufruf einer Methode
- 2. Aufruf von Perl aus Java
- 3. Aufruf dieses aus dem Innern einer verschachtelten Java Action
- 4. Aufruf einer Webmethode aus C++
- 5. Aufruf einer Coroutine aus asyncio.Protocol.data_received
- 6. Aufruf einer Aktivität aus Fragment
- 7. Aufruf einer überschriebenen Funktion aus einer Basisklasse?
- 8. CodeIgniter - Aufruf einer Funktion aus einer Sicht
- 9. Codeigniter: Aufruf einer Methode aus einer Sicht
- 10. Java + XSL, Aufruf von Java-Code aus der Vorlage
- 11. Aufruf von Snarl aus Java-Code
- 12. JSR223: Aufruf Java „varargs“ Methoden aus Skript
- 13. Aufruf eines Java-Servlet aus Javascript
- 14. Aufruf einer Funktion in einer JAR-Datei aus einer Skriptdatei
- 15. Aufruf Methode aus Konstruktor
- 16. Aufruf einer SUB aus einer Klasse aus einem Namespace VB.Net
- 17. Aufruf einer Methode der Unterklasse in Java
- 18. Aufruf einer anderen Methode von Objekt-Java
- 19. Aufruf einer Java-Methode in JSP
- 20. Aufruf einer Methode aus einer Array-Liste von Objekten
- 21. Java Aufruf einer Methode ohne Erstellen einer Instanz
- 22. Java-Aufruf einer Funktion in einer Klasse von einer anderen
- 23. Javascript: Aufruf Funktion aus einer anderen Datei
- 24. Grails: Aufruf einer Taglib aus einem anderen
- 25. angular Aufruf einer Funktion aus einem Formular
- 26. Aufruf einer Python-Funktion aus Bash-Skript
- 27. Aufruf einer JavaScript-Funktion aus Flash
- 28. Aufruf Usercontrol-Methode aus einer anderen Form
- 29. Aufruf einer Funktion aus einem Wörterbuch
- 30. Aufruf von Thickbox aus einer js-Datei
Dies ist plattformabhängig. Möglicherweise möchten Sie Ihrer Frage zusätzliche Informationen hinzufügen. –