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

 


Dernière réponse
Sujet : [JAVA] code natif en C ou comment je suis trop dans la merde!
Cherrytree 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

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Cherrytree 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
Babekiller C'est tout bon la DLL marche trés bien!!!!!
 
 
Voilà merci à tous!!! :jap:
 
Ouf j'ai fini juste juste !!!! :sweat:
Cherrytree 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]

Babekiller [:romn]

 

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

Cherrytree 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
Cherrytree 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é.

Cherrytree 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 ?
darklord22 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.
Babekiller 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:

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