gpt4 book ai didi

android - 使用 JNI 在 C++ 中访问二维数组字段

转载 作者:行者123 更新时间:2023-11-29 22:00:29 34 4
gpt4 key购买 nike

我有一个这样的 Java 类:

class Blah{
float[][] params;
}

在 JNI 中,我尝试像这样获取参数:

jclass cls = env->GetObjectClass(obj);
jfieldID paramsFid = env->GetFieldID(cls, "params", "[[F;");
jobjectArray paramArray = (jobjectArray)env->GetObjectField(obj, paramsFid);

但它在 GetObjectField 上总是失败,我发现没有专门用于 2D 数组的函数,所以我只是将其视为一个对象并将其转换为对象数组。有什么提示吗?

谢谢!

最佳答案

您的 GetFieldID 调用看起来返回 null。您需要删除类型中的分号,使其看起来像:

jfieldID paramsFid = env->GetFieldID(cls, "params", "[[F");

分号用在类名的末尾,而不是原始类型。

This是关于 JNI 类型的很好的引用。

关于android - 使用 JNI 在 C++ 中访问二维数组字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12051770/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com