Appel d'une dll fortran a partir d'un programme en java

Résolu
melianos31 Messages postés 18 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 3 septembre 2006 - 27 juil. 2006 à 10:57
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 23 juil. 2008 à 16:30
Bonjour.

Je programme en ce moment une interface graphique en java, pour un programme en fortran.
J'ai fait une dll de ce programme, je sais comment charger la dll dans le programme java, appeler une subroutine de la dll, mais, je ne sais pas comment récupérer le résultat ( vu que le fortran renvoie tous les parametres passés en entrée).

10 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
27 juil. 2006 à 12:50
Salut,


oriente tes recherches sur le JNI (c'est le seul moyent possible de linker du java avec une lib dynamique)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
melianos31 Messages postés 18 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 3 septembre 2006
27 juil. 2006 à 10:58
Petit oubli :
Merci de la réponse si quelqu'un la connait
0
melianos31 Messages postés 18 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 3 septembre 2006
27 juil. 2006 à 13:56
Bon, après un peu de recherche, si jamais quelqu'un a le même problème, voila un lien vers la solution que j ai trouvé.
http://www.math.ucla.edu/~anderson/JAVAclass/JavaInterface/JavaInterface.html

Des que j'ai compris comment ca marche, je met une explication en francais
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
27 juil. 2006 à 14:07
Salut,


tien pour te donner une idée

http://java.sun.com/docs/books/jni/html/jniTOC.html

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
melianos31 Messages postés 18 Date d'inscription jeudi 20 juillet 2006 Statut Membre Dernière intervention 3 septembre 2006
27 juil. 2006 à 14:45
Bon, apres quelques recherches et lectures, il semble qu'il ne soit pas possible de récupérer les paramètres de sortie d'une subroutine fortran. Un program fortran peut par contre être appelé, en creant une classe java qui appele le programme fortran dans la dll.

Voilà.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
27 juil. 2006 à 14:53
Salut,


enfaite ce que tu dois faire est assez simple (point de vue theorie :D)
tu as ton code fortant que tu lie avec une librairie dynamique dans
cette meme lib tu met une couche JNI donc en C/C++ afin de wrapper le
code fortrant et le code java ensuite c'est pinuts pour les appels

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
0
merejie31 Messages postés 2 Date d'inscription vendredi 4 juillet 2008 Statut Membre Dernière intervention 23 juillet 2008
23 juil. 2008 à 15:48
Coucou,

Je programme moi aussi une interface graphique en Java pour un programme en fortran, sauf que je n'ai que la dll du programme, pas le code. En revanche je connais bien les paramètres d'entrée et de sortie du programme. Est-ce que JNI permet tout de même de se relier à la dll?
Je vais commencer par lire la doc de vos liens en attendant vos réponses (je suis plutôt faineant alors vivement vos réponses... )
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 juil. 2008 à 16:08
Salut,

Oui, tu peux faire un wrapper jni, qui appellera les fonctions de ta dll et le linker avec ton application java.
Tu peux regarder dans les sources JNI que j'ai déposé sur ce site, tu verras que je lie des fcts système avec du code java.
Sinon tu peux également regarder du coté de JNA (c'est un chouilla comme du JNI mais sans faire du code C/C++ (perso je trouve ça plus lourd et plus lent))

"je suis plutôt faineant alors vivement vos réponses"
>> Pas de bol ici on force les gens à chercher...

Au passage merci de créer tes propres topics pour poser tes questions.

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
merejie31 Messages postés 2 Date d'inscription vendredi 4 juillet 2008 Statut Membre Dernière intervention 23 juillet 2008
23 juil. 2008 à 16:17
Merci pour ta rapidité Twinuts,

Désolé d'avoir posé ma question ici, comme elle était très proche de celle de melianos31, je pensais pas à mal.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
23 juil. 2008 à 16:30
Salut,

"Désolé d'avoir posé ma question ici, comme elle était très proche de celle de melianos31, je pensais pas à mal."
>> C'est pas grave en soit, c'est juste que tu ne peux valider aucune réponse, puis c'est mieux d'avoir des choses à soit ^^

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous