diff options
| author | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-07-20 12:41:35 +0000 |
|---|---|---|
| committer | Emmanuel Raviart <eraviart@entrouvert.com> | 2004-07-20 12:41:35 +0000 |
| commit | a7c3554f40b6b017a4d4abc396de64ed89342a62 (patch) | |
| tree | 423af9b1f3f794da03455fc6c27347eea9c3e173 /java/doc/JNIForDummy.rst | |
| parent | ff57e03478b2d6460aa2c60110ddfd976c21ca00 (diff) | |
| download | lasso-a7c3554f40b6b017a4d4abc396de64ed89342a62.tar.gz lasso-a7c3554f40b6b017a4d4abc396de64ed89342a62.tar.xz lasso-a7c3554f40b6b017a4d4abc396de64ed89342a62.zip | |
Added Java binding.
Diffstat (limited to 'java/doc/JNIForDummy.rst')
| -rw-r--r-- | java/doc/JNIForDummy.rst | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/java/doc/JNIForDummy.rst b/java/doc/JNIForDummy.rst new file mode 100644 index 00000000..4f8cd315 --- /dev/null +++ b/java/doc/JNIForDummy.rst @@ -0,0 +1,36 @@ +================ +JNI for dummy :) +================ + +Sous Linux le nom de la librairie compilée doit obligatoirement commencer par **lib** et +finir par **.so**. + +Pour charger à l'éxécution la librairie elle doit-être dans le +LD_LIBRAIRY_PATH et en Java il faut la charger avec **System.loadLibrary**:: + +Par exemple si vous avec généré la librairie libjlasso.so, on la chargera +avec:: + + System.loadLibrary("jlasso"); + +Pour connaitre le nom de la librairie que le système attend, on peut +utiliser:: + + System.out.println(System.mapLibraryName("jlasso")); + +Comment ajouter des fonctions JNI +================================= + +:ref: http://java.sun.com/docs/books/jni/html/jniTOC.html +:ref: http://gbm.esil.univ-mrs.fr/~tourai/Java/node48.html + +Il faut créer les classes Java, et marquer les méthodes qui doivent être +écrite en C, avec le mot cle native. Ces méthodes n'ont pas de corps en +Java. + +Il faut ensuite exécuter le Makefile se trouvant dans lasso/java pour qu'il +génère les fichiers d'entête JNI. + +Il ne reste plus qu'a reprendre la signature de la méthode et de la coder +dans le .c + |
