Interfacer un programme c en java

Rico -  
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   -
Pourriez vous m expliquer comment interfacer un programme c
en java. (liens et doc eventuellement).
Merci
A voir également:

3 réponses

Aldian Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
UP!
Ca m'intéresserait bien moi aussi :)
0
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   723
 
Salut,

Via un truc appelé JNI (Java Native Interface), https://en.wikipedia.org/wiki/Java_Native_Interface Maintenance manuelle possible si pas beaucoup de méthodes appelées, sinon un outil comme Swig http://www.swig.org/ s'avère nécessaire.

++
0
Aldian Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
merci bien.

j'ai entre temps également trouvé cet excellent tutoriel : https://ydisanto.developpez.com/tutoriels/java/runtime-exec/

avec tout ça je devrai y arriver :)
0
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   723
 
C'est autre chose ce que tu as trouvé. Dans ton lien, il ne s'agit pas d'interfacer du C avec du Java, mais d'appeler un exécutable depuis Java. Interfaçage C - Java = tu as un projet source en C, tu crées un ou plusieurs fichiers .dll (ou .so) et tu appelles tes fonctions C depuis le code Java... Vraiment autre chose que lancer un .exe depuis Java, OK?
0
Aldian Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   > sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention  
 
je suis désolé, j'aurais sans doute du donner plus de détails. En fait l'appel de l'exécutable devrait je pense me suffire. Le problème que je rencontre est que j'ai développé une application java qui doit à un moment effectuer un certain traitement assez compliqué sur un fichier, et il se trouve que j'ai un collègue qui a réalisé un programme C qui implémente ce traitement. Sauf que lui travaille sous AIX et moi sous Debian. Donc j'ai des problèmes lors de la recompilation des sources, parce que les librairies sont différentes. Du coup j'explore toutes les possibilités :

* Si j'arrive à compiler correctement le source, l'appel d'un exécutable suffira.
* Sinon, peut être que la solution hybride de mettre le code C dans le programme java ferait l'affaire?
* En dernier recours, il faudrait que je réécrive le programme C en java, mais il y a quand même 1500 lignes de code et pas beaucoup de commentaires.

voila voilou :)
0
sandul Messages postés 3927 Date d'inscription   Statut Membre Dernière intervention   723 > Aldian Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
oki doki... A mon avis, essaie les options 1 et 3 en premier, le JNI n'est pas une chose très aisée à mettre en place.
++
0