【发布时间】:2018-01-19 19:52:10
【问题描述】:
我试图将一个数组从 C 程序返回到 Java,但它返回错误“指向整数转换的不兼容指针返回 来自结果类型为“jint”(又名“int”)的函数的“int *”;取消引用 * [-Wint-conversion]"
我想要实现的是在java程序中使用this返回的数组。有人可以举例说明我如何做到这一点。
JNIEXPORT jint JNICALL Java_com_ControlStub_alg1Value
(JNIEnv *env, jobject jobj) {
return 3212;
}
例如,我使用上述方法并使用此函数仅在 Java 中显示其值,同样我需要它返回一个数组。作为Java新手,我发现很难做到这一点,请帮助我。 提前致谢!
Edit1:我已经检查了这个链接,但它让我感到困惑,正如我所说的,我还是 Java 新手。
【问题讨论】:
-
除了带有答案的链接问题之外,请确保您确实使用了 javah 实用程序,这是您引用的教程中的一个步骤。
-
我希望 JNI 重新运行一个简单的字符串数组,但是当我尝试按照已经回答的问题中的建议运行程序时,我得到 System.out.println(getStrings());输出类似于“[Ljava.lang.String;@1c59d3ae”,我不明白这意味着什么
-
这是一个 Java 问题:它只是对字符串数组调用 Object.toString() 的结果。它表明该对象是一个字符串数组。
标签: java c arrays java-native-interface