Comment intergrer du code C en Java??? - C - Programmation
Marsh Posté le 05-05-2004 à 00:45:06
Regarde du côté des "JNI" ? (enfait j'en ai juste entendu parlé car c'est un collègue qui c'est chargé de faire que ça fonctionne, moi je m'occupais du code en C).
Mais mettre en place le "bordel" java avit été assez complexe surtout qu'il fallait adapter le code C (prototype des fonctions).
Personnellement j'y connais rien. Bon finallement moi je filais le code C avec lequel mon collègue faisait une DLL qu'il pouvait ensuite utiliseren Java.
Sinon, le C c'est vachement bien !
C'est sur quel OS ?
Marsh Posté le 05-05-2004 à 05:12:39
Je sais pas si c'est faisable mais çà pourrait être une interface java qui balance des requêtes sur un port, et le prog c qui écoute et interprète les requêtes.
Marsh Posté le 05-05-2004 à 08:30:27
les 2 solutions les + courantes:
- client/serveur entre l'IHM (typiquement java/swing) et le coeur du programme en C
- 1 seul programme, en utilisant en effet JNI pour passer du C au java et réciproquement. Dans ce dernier cas: http://java.sun.com/docs/books/jni/
Marsh Posté le 05-05-2004 à 09:43:40
Je sais que SWIG le permet aussi, je sais pas ce qu'il vaut par rapport à JNI. Son plus peut être : une fois ton fichier d'interface écris, générer du code pour Java, Python, Perl ou plein d'autre c'est juste une ligne de commande à modifier.
www.swig.org
Marsh Posté le 05-05-2004 à 09:45:54
faire et utiliser une DLL en java
http://java.sun.com/docs/books/tut [...] index.html
Marsh Posté le 05-05-2004 à 09:48:48
Taz a écrit : bah windows |
non monsieur
suis sous Unix
en tout cas merci beaucoup pour vos précieuses réponses
Marsh Posté le 05-05-2004 à 09:51:59
Citation : surtout pas en Java. Pourquoi?? vas savoir |
C'est un classique ce TP, on se l'est tous farci, avec du bon vieux fork pourri. C'est un cas d'école.
Marsh Posté le 05-05-2004 à 09:58:10
HelloWorld a écrit :
|
pardon??? pourquoi fork() ????? enfin j'avoue que je ne l'ai même pas attaqué encore
Marsh Posté le 05-05-2004 à 10:09:53
Pourquoi des tubes et de la mémoire partagée alors ?
Dois-tu gérer plusieurs connexions simultanément ?
Marsh Posté le 05-05-2004 à 10:12:21
non non j'ai le choix entre communication par tubes, mémoire partagée, sockets... mais je crois que je vais utiliser les sockets c'est simple et concret
Marsh Posté le 05-05-2004 à 15:49:55
mon avis tu vas souffrir si tu fais ca. Soit tu fait du JNDI et la c'est la fin pour toi. Soit tu fait tout en java, ou tout en c (GTK, QT), moi j'te conseil l'un des derniers. Fait tout en java, le rseau ressemble au reseau de C
Marsh Posté le 05-05-2004 à 16:27:08
MrNavarro a écrit : mon avis tu vas souffrir si tu fais ca. Soit tu fait du JNDI et la c'est la fin pour toi. Soit tu fait tout en java, ou tout en c (GTK, QT), moi j'te conseil l'un des derniers. Fait tout en java, le rseau ressemble au reseau de C |
je peux pas c'est pas ce qui est demandé, je dois faire le boulot entièrement en C, l'ig doit être faite en java c'est tout, sinon je crois que je vais le faire en mode shell avec un système de commandes genre "send" pour envoyer, "list" pour lister les membres...
Marsh Posté le 04-05-2004 à 23:23:42
salut, j'ai en fait un projet à faire (enfin à subir) qui consiste à faire un système de tchate en LAN avec C. il serait donc préférable que je fasse l'interface graphique en Java pour gagner plein de ligne de code, mais j'ai du mal à trouver comment integrer des appels de fontions C en Java.
je précise que le projet doit être fait en C (tube, socket, mémoire partagée...) et surtout pas en Java. Pourquoi?? vas savoir