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”,表示是接口内的符号,有点转义字符的意思。
阅读(1896) | 评论(0) | 转发(0) |