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

  FORUM HardWare.fr
  Programmation

  [JAVA] code natif en C ou comment je suis trop dans la merde!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] code natif en C ou comment je suis trop dans la merde!

n°101524
Babekiller
Posté le 17-02-2002 à 19:48:34  profilanswer
 

Comment certain on put se rendre compte j?ai un projet à rendre dans pas très longtemps voir mes posts précédents? :hot:
 
Bon alors mon interface java marche bien mais voilà maintenant j?avance en terrain ennemi !!
 
Les DLL Arggggg? :sweat:
 
J?ai trouvé un exemple sur le net mais j?arrive pas à le faire marcher !!! (rem :c?est pour UNIX)
 
Si j?ai bien compris : :??:
On fait une class avec une méthode native.
On crée un .h de cette class.
On fait une dll avec un code en C et un include jni.h et le .h précédent.
 Et pouf c?est bon !!!!
 
Premier point comment on fait pour faire un .h avec une class java en utilisant javah ?
Parce que l?exemple est pas très claire?
 
Voilà on va commencer par le début ! :sweat:
 
Ha et si vous avez une autre méthode (infaillible :love: ) ou un exemple avec les sources n?hésitez pas !!! :love:
 
 
Voilà et merci ! :jap: :D
 
 
PS: Cherrytree si tu veux te rattraper aucun problème :D :love:

mood
Publicité
Posté le 17-02-2002 à 19:48:34  profilanswer
 

n°101586
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 17-02-2002 à 22:44:45  profilanswer
 

commence par lire ca avant d'implémenter qqch
 
http://java.sun.com/docs/books/tut [...] index.html
 
ca ne sert à rien de t'embarquer dans un brol que tu ne comprends pas.


---------------
What is popular is not always right, what is right is not always popular :D
n°101594
Cherrytree
cn=?
Posté le 17-02-2002 à 23:02:21  profilanswer
 

Aïe, Babekiller en ce qui concerne les choses simples, les aspects plan-plan du langage, je suis OK. Cela dit JNI, j'ai encore jamais expérimenté.
 
Mais t'es un gars sympa alors je vais regarder ça un peu de près. Le sujet de ton exo c'est quoi au juste ?


---------------
Le site de ma maman
n°101610
Cherrytree
cn=?
Posté le 17-02-2002 à 23:33:58  profilanswer
 

Bon, le lien de dark est une version plus complète de ce que tu dis, mais en gros tu as le truc. Ton programme se charge d'appeler des fonctions définies dans d'autres langages de programmation. Toutes les méthodes natives (c'est à dire non-Java) doivent cependant être déclarées dans ta classe Java, en utilisant une signature particulière (tu dois préciser que la méthode EST native).Par exemple :
 

Code :
  1. public native typeDeRetour nomDeLaMethode();


 
En dessous si tu veux créer une dll, il faut préciser le nom de la librairie que tu créeras plus tard :
 

Code :
  1. System.loadLibrary("nomDeLaDLL" );


 
Ensuite du compile classiquement avec javac. Puis tu génères le fichier header (.h) relatif aux fonctions natives (C par exemple) que tu as besoin d'intégrer. Pour cela, tu tapes :
 

Code :
  1. javah -jni nomDeLaClasseJavaQuiFaitLesAppels


 
Tu édites les fichiers pour voir quels noms de fonctions le compilateur s'attend à trouver. Ne modifie pas le .h, ça doit pas marcher sinon. Ces noms de fonctions commencent tous par

Code :
  1. Java_

.
 
Bon, ensuite tu crées (ou tu modifies) tes fichiers en codes non Java. En particulier si tu modifies, il faut que tu t'arranges pour que les noms de fonctions soient corrects.
 
Enfin pour créer la DLL, il te faut Visual C++ et rentrer une ligne de commande barbare en guise de compilation. Le code source pour le HelloWorld est à l'adresse que t'a sympathiquement donné dark.
 
Sinon, y a un truc qui m'inquiète dans ton post : tu as écris, je cite : "J?ai trouvé un exemple sur le net mais j?arrive pas à le faire marcher !!! (rem :c?est pour UNIX)"
 
A moins que je ne me trompes lourdement, les DLL c'est pas pour UNIX, mais Windows... Alors repends-toi ! Et télécharge le tutorial Java, comme je l'ai conseillé.


---------------
Le site de ma maman
n°101611
Cherrytree
cn=?
Posté le 17-02-2002 à 23:35:09  profilanswer
 

J'espère que ça réponds à tes attentes, sur ce p'tit gars, je me couche. Et rentre cette langue, ça fait désordre :D :D


---------------
Le site de ma maman
n°102078
Babekiller
Posté le 18-02-2002 à 21:59:17  profilanswer
 

[:romn]

 

[jfdsdjhfuetppo]--Message édité par Babekiller--[/jfdsdjhfuetppo]

n°102123
Cherrytree
cn=?
Posté le 19-02-2002 à 00:00:19  profilanswer
 

Petit batard, va (c'est amical ici, hein) :D
 
Concernant les dll, je peux pas t'aider, moi je suis 100% pure Java, comme ils disent... Déjà je me suis fait chier à décortiquer le tutorial parce que tu me l'avais demandé, hum... gentillement on va dire.

 

[jfdsdjhfuetppo]--Message édité par Cherrytree--[/jfdsdjhfuetppo]


---------------
Le site de ma maman
n°103190
Babekiller
Posté le 21-02-2002 à 15:08:09  profilanswer
 

C'est tout bon la DLL marche trés bien!!!!!
 
 
Voilà merci à tous!!! :jap:
 
Ouf j'ai fini juste juste !!!! :sweat:

n°103195
Cherrytree
cn=?
Posté le 21-02-2002 à 15:12:46  profilanswer
 

Tu pourrais nous montrer le source, ça m'intéresse vraiment, maintenant que je me suis impliqué. Et puis ce sera ta juste contribution à ce topic. Evidemment, si c'est copyrighté... :D


---------------
Le site de ma maman

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

  [JAVA] code natif en C ou comment je suis trop dans la merde!

 

Sujets relatifs
[C - listes chainées] Votre avis sur ce code...[C] compiler un code source linux pour windows !
[Java] - Swing et les conventions[JAVA] Images dans les applications
(JAVA]Empêcher la saisie de lettres dans un TextFieldcomment montrer du code HTML dans une page HTML ?
[php] arghh! un coup de main pour débugger ce code?? siouplait[Java] Applet afficher des messages pendant l'init
[JAVA] Probleme de surcharge CPU[java][servlet] Pb de compil (je sais, c'est con)
Plus de sujets relatifs à : [JAVA] code natif en C ou comment je suis trop dans la merde!


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