一、参考文章
假设有这样一个Java函数:
这个函数需要调用c/c++函数
实现,那么用JNI该如何实现?
首先分析java的参数char buffer[ ],它在jni中的对应类型为jcharArray,说明从java传到jni的参数类型就是jcharArray。
jcharArray是一个jni数组类型,操作数组在jni中都有特定的函数,例如获取数据元素有:GetXXXArrayElements,XXX表示数据类型,可用如下数据类型替代:
jobjectArray;
jbooleanArray;
jbyteArray;
jcharArray;
jshortArray;
jintArray;
jlongArray;
jfloatArray;
jdoubleArray;
例如jcharArray的获取元素函数为:
对应的释放函数为:
另外还有获取数组指定范围元素的函数为: