Mar*_*los 8 c++ java java-native-interface bytebuffer android-ndk
如何获得指向Java ByteBuffer内部数组的指针?
JNIEXPORT void JNICALL test(JNIEnv *env, jobject thiso) {
jclass cls = env->FindClass("java/nio/ByteBuffer");
jmethodID aloc = env->GetStaticMethodID(cls, "allocateDirect", "(I)Ljava/nio/ByteBuffer;");
jobject obj = env->CallStaticObjectMethod(cls, aloc, 1000);
}
Run Code Online (Sandbox Code Playgroud)
PS:我这样做是为了分享Java和C++使用的内存.
Ala*_*kes 11
void * data = env->GetDirectBufferAddress(obj);
Run Code Online (Sandbox Code Playgroud)
ByteBuffer必须是一个直接的工作.
| 归档时间: |
|
| 查看次数: |
4329 次 |
| 最近记录: |