【问题标题】:How can return structure array from a C++ dll to Java Applet using JNI?如何使用 JNI 将结构数组从 C++ dll 返回到 Java Applet?
【发布时间】:2012-06-15 12:24:38
【问题描述】:

我有一个 C++ dll 类。我想使用 JNI 方法将结构数组返回给 Java Applet。 如何从 Java 访问它?

(结构数组包含不同类型的结构)

已经返回了一个String数组---

public native String[] fun();

JNIEXPORT jobjectArray JNICALL Java_fun(JNIEnv* pEnv, jobject Pobj)
{
}

但我不知道如何使用结构数组。

谁能告诉我。

【问题讨论】:

    标签: java c++ dll applet java-native-interface


    【解决方案1】:

    您需要构建与 Java 对象相同的结构。将 C++ 结构中的值复制到 JNI 中的 Java 结构中。返回 Java 结构并将其用作普通 Java 对象。

    【讨论】:

      【解决方案2】:

      Sun: STrings and ArraysSun 提供的优秀代码示例很少

      试试看,告诉我们你的进步。

      【讨论】:

        【解决方案3】:

        您可以使用JavaCPP,它会为我们生成所有讨厌的 C++ JNI 代码。然后我们只需要从 Java 中调用 Pointer.position() 来导航本机结构数组。

        【讨论】:

          猜你喜欢
          • 2018-11-07
          • 2010-12-09
          • 1970-01-01
          • 2019-11-28
          • 2012-01-11
          • 1970-01-01
          • 1970-01-01
          • 2018-01-19
          • 1970-01-01
          相关资源
          最近更新 更多