배열 다루기 3/4
$ vi PrintArray.cpp#include <jni.h>
#include <iostream>
void printIntArray
(
JNIEnv *env,
jobject thiz,
jintArray intArray
)
{
//get c-pointer to intArray
jint *cintArray = env->GetIntArrayElements(intArray, nullptr);
//get the length of intArray
jsize length = env->GetArrayLength(intArray);
//print array element
for(int i=0; i<length; i++) {
std::cout << cintArray[i] << " ";
}
std::cout << std::endl;
env->ReleaseIntArrayElements(intArray, cintArray, 0);
}
JNIEXPORT jint JNICALL JNI_OnLoad
(
JavaVM *vm,
void *reserved
)
{
JNIEnv *env;
if(vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6)) {
return -1;
}
JNINativeMethod nm[1] ={
{
const_cast<char*>("printIntArray"),
const_cast<char*>("([I)V"),
reinterpret_cast<void*>(printIntArray)
}
};
jclass cls = env->FindClass("Client");
env->RegisterNatives(cls, nm, 1);
return JNI_VERSION_1_6;
}Last updated