调用Get <primitivetype> ArrayElements或等效项时,要么不复制要么失败

时间:2017-01-12 10:33:05

标签: java c java-native-interface

JNI Get<PrimitiveType>ArrayElements系列函数具有此表单的签名,用于从C访问Java数组元素:

NativeType *Get<PrimitiveType>ArrayElements(JNIEnv *env, ArrayType array, jboolean *isCopy);

isCopy用于指示返回的数据是否为副本。有没有办法调用这些函数(或类似的函数),不能复制或失败?

我想用C做的是在可能的情况下就地访问Java数组,然后调用其中一个Get<PrimitiveType>ArrayRegion系列将数组数据复制到我选择的地方。

编辑:我怀疑此时无法完成此操作。如果是这样的话,我很高兴接受一个确认这一事实的答案,特别是如果它可以解释为何JNI以这种方式设计的理由。

0 个答案:

没有答案