總結JNI編程步驟

創建JNI類

在JNI類裏面聲明需要加載的dll

static {
    System.loadLibrary("JNIDLL");
}

方法在JNI類裏面聲明爲native

public native void displayImg();

藉助javah生成對應頭文件

配置Idea的extension tool, 一鍵生成JNI頭文件,或者敲命令生成JNI頭文件(javah)
配方:

Program: $JDKPath$/bin/javah

Parameters: -jni -classpath $OutputPath$ -d ./jni $FileClass$

Working directory: $ProjectFileDir$

注意,使用javah前必須先編譯一邊,否則生成的頭文件是空的。因爲javah接收的是.class

寫C++代碼,編譯成dll

根據生成的頭文件,實現對應的C++文件,然後用gcc編譯成dll

或者用vs新建win32 DLL工程,導入剛剛的頭文件,新建cpp文件實現。

將jni.h的路徑(%JAVA_HOME%\include\win32; %JAVA_HOME%\include)加入項目的“包含目錄”.

編譯運行,得到dll文件。

注意編譯的時候對應jdk的版本選擇64位或者32位編譯,否則Java調用會出錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章