首頁 > Java > java教程 > java中JNI的簡單使用方法介紹(詳細)

java中JNI的簡單使用方法介紹(詳細)

不言
發布: 2018-10-10 11:53:09
轉載
4554 人瀏覽過

這篇文章帶給大家的內容是關於JNI的簡單使用方法介紹(詳細),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

JNI可以讓我們在java程式碼中呼叫本地庫的功能。

下面記錄JNI簡單的使用方法

1、建立java端介面

public class JNIIterface {
    // 导入最终生成的dll文件
    static {
        System.loadLibrary("JNIDemo");
    }

    // 声明dll文件中实现的接口
    public native int MyMethod();
    
    public native int add(int x, int y);
}
登入後複製

2. 產生介面對應的C的頭檔

上面已建立的JNIIterface類,JNIIterface .class檔案的路徑:\JNIDemo\bin\base\JNIIterface .class

在工程目錄下的bin目錄下執行指令:javah -classpath . -jni base.JNIIterface

接著會在\JNIDemo\bin\目錄下產生base_JNIIterface.h檔案

3. 使用visual studio編寫介面的實作

建立C工程,具體步驟如下:

第一步:

第二步:

第三個步驟:

匯入需要的頭檔

將上面第二步驟產生的頭文件,以及jdk根目錄下include目錄下的jni.h和

include的win32目錄下的jni_md.h檔案拷貝到工程目錄下的頭檔目錄下

建立功能實作檔案

在工程目錄下來源檔案上右鍵,並點選新增- 》類別

並撰寫以下程式碼:

#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. 產生dll檔案

在工程目錄中的「解決方案」上右鍵,選擇屬性,然後如下圖所示構成項目

然後編譯工程後,會在工程目錄下的Release目錄下成成dll檔案

5. 將dll檔案配置到java工程

首先向dll檔案放在java工程根目錄下的lib目錄下

然後按照以下步驟將dll檔案作為Native Library加入工程

編輯上圖所示的Native Library Location,然後在彈出的介面選擇Native Library所在的資料夾:

6. 編寫測試類,檢證JNI是否成功應用public class HelloJNI {

    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);
    }
}
登入後複製

運行後的測試結果如下:

0
0
成功??JNI??DEMO
登入後複製

上面就是記錄了使用JNI最基本的步驟。

對於如何使用已經寫好的第三方dll檔案的功能,例如係統的dll文件,還需要進行深入探索。

以上是java中JNI的簡單使用方法介紹(詳細)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
jni
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板