您的位置:首页 > 编程语言 > Java开发

Ndk学习之JNI获取数组(Java-->C-->Java)

2017-12-25 08:11 381 查看
1.在java中定义方法以及获取C中返回值的方法

public native int[] getArray(int len);2.javah生成头文件
/*
* Class:     com_boom_JNITest
* Method:    getArray
* Signature: (I)[I
*/
JNIEXPORT jintArray JNICALL Java_com_boom_JNITest_getArray
(JNIEnv *, jobject, jint);
3.源文件中对代码进行具体实现
//返回数组
JNIEXPORT jintArray JNICALL Java_com_boom_JNITest_getArray
(JNIEnv *env, jobject jobj, jint len){
//创建一个指定大小的数组
jintArray jint_arr = (*env)->NewIntArray(env,len);
jint *elems = (*env)->GetIntArrayElements(env,jint_arr,NULL);
int i = 0;
for (;i<len;i++){
elems[i] = i;
}
//同步
(*env)->ReleaseIntArrayElements(env,jint_arr,elems,0);

return jint_arr;
}


2.javah生成头文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: