Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1318 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  java : appeler des methodes d'un programme en C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

java : appeler des methodes d'un programme en C

n°1528890
allserv
Posté le 15-03-2007 à 13:47:36  profilanswer
 

Bonjour,
 
J'expose mon problème, nous avons un programme écrit en C++ et qui est le noyau d'un "jeu d'échec". Je dois créer une interface graphique qui doit être portable, j'ai choisi et développé une interface en java applet.
Maintenant je dois faire la relation entre les deux programmes. Pour simplifier la relation j'utilise des fichiers textes. Un fichier texte représentera le jeu en cours et le programme C doit recuperer ce fichier pour le charger.
 
Comment et quelles sont les meilleures solutions qui s'offrent à moi pour invoquer le programme en C ?
Si vous avez d'autres idées je suis preneur.
 
Merci d'avance pour votre aide
 
Louis

mood
Publicité
Posté le 15-03-2007 à 13:47:36  profilanswer
 

n°1528895
Taz
bisounours-codeur
Posté le 15-03-2007 à 13:53:54  profilanswer
 

java applet ... une belle usine à Gaz avec un serveur web qui fait tourner le C++ et une applet java ...
 
non sérieusement, utilise un toolkit graphique portable C++ et on en parle plus (Qt, GTKmm, etc)

n°1528914
allserv
Posté le 15-03-2007 à 14:28:56  profilanswer
 

En fait il s'agit d'un projet que l'on doit faire dans le cadre de notre cursus scolaire.
Nous avons deja passer une semaine à developper l'interface graphique en java et notre tuteur reste certain que l'on peut continuer dans ce sens avec les fichiers textes.
 
En gros il faut quelque chose de fonctionnel, on ne regarde pas spécialement la rapidité du programme.
Il faut que ce soit portable (d'où l'applet java).
 
Tu pourrais nous aider ?

n°1528917
Taz
bisounours-codeur
Posté le 15-03-2007 à 14:32:21  profilanswer
 

le coup des fichiers textes, c'est une blague ...
Il faut au minimum utiliser des sockets / pipe.
 
l'applet java ... mais tu ne sais même pas ce que c'est. une applet java, c'est un morceau de java qui tourne dans ton navigateur internet. et le programme C++ il est où dans l'histoire ...

n°1528929
allserv
Posté le 15-03-2007 à 14:42:39  profilanswer
 

Nous ce que nous propose le tuteur est que le programme C++ charge ses données de jeu via un/plusieurs fichiers textes, après l'interface java se charge décrire dans les fichiers textes le jeu actuel, ensuite on invoque la bonne méthode en C (via JNI peut etre ?) qui va renvoyer le resultat du traitement (soit ok si le deplacement est possible, ou autre chose message d'erreur si ce n'est pas bon) et nous on doit s'arranger pour lire la réponse.
 
Je sais que ce n'est pas très clair et pour nous non plus c'est donc la raison de mon message sur le forum, je voudrais avoir des solutions à mon problème ou des idées de résolution si possible merci :)
 
Louis

n°1528932
_darkalt3_
Proctopathe
Posté le 15-03-2007 à 14:47:51  profilanswer
 

Bah java c'est "portable", pourquoi vouloir passer par une applet ?


---------------
Töp of the plöp
n°1528942
allserv
Posté le 15-03-2007 à 15:25:25  profilanswer
 

oui c'est vrai on voyait aussi le coté du "on peut l'executer del'éxtérieur" sachant que cela aurait disponible sur une page web.
De toute maniere même si l'on ne passe pas par l'applet java, nous avons toujours le même problème pour appeler les fonctions du programme c !?!?!?

n°1528949
_darkalt3_
Proctopathe
Posté le 15-03-2007 à 15:37:46  profilanswer
 

Bah JNI oui pourquoi pas ? t'as essayé ?


---------------
Töp of the plöp
n°1528955
allserv
Posté le 15-03-2007 à 15:42:40  profilanswer
 

Je n'ai pas encore essayé, on m'a parlé des RMI aussi mais je sais pas si cela est compatible car en fait ca permet d'invoquer des methodes d'un programme java distant (donc deux machines java virtuelles) mais je sais pas si cela pourrait être mis en pratique avec un programme en C !?!?

n°1528959
brisssou
8-/
Posté le 15-03-2007 à 15:46:02  profilanswer
 

mais si tu passes par une Applet, ton code java tourne en local sur le poste de l'utilisateur qui lance ton applet avec son navigateur.
 
Donc comment tu comptes appeler ton code C qui est distant ?
 
socket et pipe, ça a l'air cool. Ecoute les conseils de Taz.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
mood
Publicité
Posté le 15-03-2007 à 15:46:02  profilanswer
 

n°1528981
Taz
bisounours-codeur
Posté le 15-03-2007 à 16:29:40  profilanswer
 

pose toi bien la question 'ou tourne le programme C'...

n°1529021
allserv
Posté le 15-03-2007 à 18:06:25  profilanswer
 

En fait l'applet sera au même endroit que le programme C, même si l'applet  pourra être affiché via une page elle se trouvera sur le même serveur que celui du programme C. par contre on m'a dit que JNI n'est pas possible avec les applets.
 
Il faut que le programme en C ne soit pas trop modifié car il s'agit de la réutilisation en fait, on a d'un coté l'interface de l'autre le noyau et faut faire interagir les deux ensembles.
 
 
Je vais regarder du coté des sockets et pipe alors ...
 
Merci a vous

n°1529052
lorill
Posté le 15-03-2007 à 18:55:37  profilanswer
 

on a dit tourne, pas est stocké.

n°1529056
allserv
Posté le 15-03-2007 à 19:00:24  profilanswer
 

Si j'utilise JNI avec une appli java il va recuperer les methodes C et les interpreter tout simplement comme si c'était les méthodes d'un programme java !?!?!?
 
A aucun moment le programme en C ne peut tourner si ? je ne connais pas tout donc s'il existe une solution ou le programme en C tourne je veux bien la connaitre !

n°1529291
brisssou
8-/
Posté le 16-03-2007 à 07:53:14  profilanswer
 

mais, si tu l'appelles, il va bien tourner, non ?
 
le problème c'est que ton applet est stocké sur ton serveur, mais est lancée et tourne sur le navigateur de l'utilisateur et ne peut donc pas faire tourner ton programme C.
 
Si tu veux faire une applet, il te faudra un frontal à ton programme C. Je ne sais pas si RMI est possible avec les applets, mais pourquoi pas.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1529316
allserv
Posté le 16-03-2007 à 09:12:12  profilanswer
 

Je pense que je vais continuer le dev du côté d'un programme java et non d'une applet pour que je puisse utiliser JNI.
 
A ce moment le programme va interpréter les methodes C comme des methodes java non ?

n°1529317
Joel F
Real men use unique_ptr
Posté le 16-03-2007 à 09:13:39  profilanswer
 

allserv a écrit :

A ce moment le programme va interpréter les methodes C comme des methodes java non ?


non, il faut compiler le code C et le JNI va appeller les méthodes compilées.

n°1529320
allserv
Posté le 16-03-2007 à 09:17:41  profilanswer
 

Mais la compilation est faite avant. En gros quand mon programme C est fini, je le compile, je crée les librairies et après c'est JNI qui va les appeler mais a aucun moment on devra avoir besoin d'un compilateur non ?

n°1529337
_darkalt3_
Proctopathe
Posté le 16-03-2007 à 09:39:09  profilanswer
 

allserv a écrit :

Mais la compilation est faite avant. En gros quand mon programme C est fini, je le compile, je crée les librairies et après c'est JNI qui va les appeler mais a aucun moment on devra avoir besoin d'un compilateur non ?


plus au moment de l'appel non


---------------
Töp of the plöp
n°1529352
brisssou
8-/
Posté le 16-03-2007 à 10:02:03  profilanswer
 

allserv a écrit :

Mais la compilation est faite avant. En gros quand mon programme C est fini, je le compile, je crée les librairies et après c'est JNI qui va les appeler mais a aucun moment on devra avoir besoin d'un compilateur non ?


 
une fois tout compilé, tu n'as plus besoin de compilateur, effectivement.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  java : appeler des methodes d'un programme en C

 

Sujets relatifs
Mon programme pr MSN marche plus[Résolu] [Divers] crash d'un programme (Newsleecher)
Conseils pour imprimer en Java : quel est l'API ultime ?Avis pour programme utilisant JAI (Java Advanced Imaging)
[VBA / DOS] Appeler une macro en DOSapplet java et recuperation des variables de session
[Java] Problème (simple ??!) d'ArrayList[Java - Swing] Pourquoi mon JButton ne s'affiche pas ?
[java] Souligner un String dans la console 
Plus de sujets relatifs à : java : appeler des methodes d'un programme en C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR