Maison >Java >javaDidacticiel >Introduction à l'utilisation simple de JNI en java (détails)
Cet article vous apporte une introduction simple à l'utilisation de JNI (détaillée). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
JNI nous permet d'appeler les fonctions des bibliothèques locales en code java.
Ce qui suit est un enregistrement de l'utilisation simple de JNI
1 Créez une interface Java
public class JNIIterface { // 导入最终生成的dll文件 static { System.loadLibrary("JNIDemo"); } // 声明dll文件中实现的接口 public native int MyMethod(); public native int add(int x, int y); }
2 Générez le fichier d'en-tête C correspondant à l'interface<.>
La classe JNIIterface créée ci-dessus, le chemin du fichier JNIIterface .class : JNIDemobinbaseJNIIterface .classExécutez la commande dans le répertoire bin du répertoire du projet : javah -classpath -jni base.JNIIterface . Ensuite, le fichier base_JNIIterface.h sera généré dans le répertoire JNIDemobin 3. Utilisez Visual Studio pour écrire l'implémentation de l'interface pour créer un projet C. les étapes spécifiques sont les suivantes : Étape 1 : Étape 2 : Étape 3 : Importez les fichiers d'en-tête requis Le fichier d'en-tête généré à la deuxième étape ci-dessus, ainsi que jni.h dans le répertoire include du jdk répertoire racine et jni_md dans le répertoire win32 de fichier include.h dans le répertoire du fichier d'en-tête dans le répertoire du projetCréez le fichier d'implémentation de la fonctionCliquez avec le bouton droit sur le source dans le répertoire du projet et cliquez sur Add-》Class et écrivez le code suivant :#include "base_JNIIterface.h" #include "jni.h" #include <stdio.h> JNIEXPORT jint JNICALL Java_base_JNIIterface_MyMethod (JNIEnv *, jobject){ printf("成功实现JNI测试DEMO"); return 0; } JNIEXPORT jint JNICALL Java_base_JNIIterface_add (JNIEnv *, jobject, jint a, jint b){ return a + b; }4. Générez le fichier dll
Cliquez avec le bouton droit sur "Solution" dans le répertoire du projet, sélectionnez Propriétés, puis comme suit Le projet montré dans l'image est composé de
puis après en compilant le projet, il sera converti en fichier dll
dans le répertoire Release du répertoire du projet 5. Configurez le fichier dll dans le projet java
<.>Placez d'abord le fichier dll dans le répertoire lib sous le répertoire racine du projet java Suivez ensuite les étapes ci-dessous pour ajouter le fichier dll en tant que bibliothèque native Entrez le projetModifiez l'emplacement de la bibliothèque native indiqué dans l'image ci-dessus, puis sélectionnez le dossier où se trouve la bibliothèque native dans l'interface contextuelle :
6. Écrivez une classe de test pour vérifier si JNI est appliqué avec succès. classe publique HelloJNI {
Les résultats du test après l'exécution sont les suivants :
public static void main(String[] args) { JNIIterface hw = new JNIIterface(); int t = hw.add(3, 7); int s = hw.MyMethod(); System.out.println(t); System.out.println(s); } }
Au-dessus enregistre simplement les étapes les plus élémentaires de l'utilisation de JNI.
0 0 成功??JNI??DEMOUne exploration approfondie est encore nécessaire sur la manière d'utiliser les fonctions des fichiers dll tiers qui ont été écrits, tels que les fichiers dll système.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!