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 :
- 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 :
- 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 :
- 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
.
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