【发布时间】:2011-12-21 11:33:23
【问题描述】:
如何获得指向 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);
}
PS:我这样做是为了共享 Java 和 C++ 使用的内存。
【问题讨论】:
-
你能澄清你在问什么吗?如果你需要返回 2 个东西然后返回一个结构。
-
m_buffer是否已经指向分配的内存?如果是这样,你为什么说new? -
经过一番研究,我重写了,现在更简单了
标签: java c++ android-ndk java-native-interface bytebuffer