3

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

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

已经返回一个字符串数组---

public native String[] fun();

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

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

谁能告诉我。

4

3 回答 3

1

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

于 2012-06-15T12:27:13.440 回答
0

Sun at Sun 提供的几个很好的代码示例:字符串和数组

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

于 2012-06-16T01:40:41.160 回答
0

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

于 2012-06-16T03:43:26.873 回答