通过 JNI 将带有数组成员变量的 Java 对象发送到 C++

问题描述

我必须发送一个 Java 对象

public class ROI_LIST_INFO {
    int  numberOfROI;
    int noOfROis[]; // Single Array
    int[][] twoD_arr = new int[10][20];
}

通过 JNI 从 Java 到 C++

我可以将 Int 发送为:

Java


    private native void sayHello(ROI_LIST_INFO roiObj); 

C++


    JNIEXPORT void JNICALL Java_com_example_hellojni_Hellojni_sayHello
    (JNIEnv *env,jobject thisObj,jobject roiObj) {
        jclass roiClass = env->GetObjectClass(roiObj);
        jfieldID fidInt = env->GetFieldID(roiClass,"numberOfROI","I");
        int numberOfROI = env->GetIntField(roiObj,fidInt);
        printf("numberOfROI: %d",numberOfROI);
    }

但是,我无法在 JNI 中访问一维数组和二维数组成员变量。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...