Ndk学習のJNI取得配列(Java-->C->Java)
737 ワード
1.javaでメソッドを定義し、Cで返される値を取得する方法
2.javah生成ヘッダファイル
3.ソースファイルにおけるコードの具体的な実装
2.javah生成ヘッダファイル
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 (;iReleaseIntArrayElements(env,jint_arr,elems,0);
return jint_arr;
}
2.javah生成ヘッダファイル