JNI知識(二)從一個簡單例子開始

2、從一個簡單例子開始

Java通過JNI調用C++/C,通過個簡單例子說明,計算兩個數之和。

Java文件:Add.java

public class Add{

   static {

       system.loadLibrary("add_jni");

   }

   public static synchronzied native CalcAdd_native(int a,int b);

    public int CalcAdd(int a,int b)

    {

        return CalcAdd_native (a,b);

    }

}

對編譯生成的.class 文件可以用javah自動生成相應的jni文件聲明,進入到生成的CalcNative.class 文件下,javah.exe  -classpath path -jni CalcNative

Calc_add.cpp文件

JNIEXPORT jint JNICALL Java_Calc_add_1native (JNIEnv *env,jint a,jint b)

{      

return (a + b);

}

生成的JNI接口名稱是Java_Calc_add_1native,其中Java是固定的關鍵字下面依次是包名,接口名,包名和包名,包名和接口名之間有”_”隔開,因爲接口名稱裏本身就帶了”_”,所有用”_1”,表示是接口內的符號,有點轉義字符的意思。


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