我可以使用 JNI 函数调用将原语从 Java 传递到我的 C++ 函数并在 C++ 函数中修改它的值吗?
到目前为止,我已经看到返回 jstring、jint、jboolean 等的示例,我不想这样做。我知道的另一个选项是在 C++ 中获取原始变量的 ID 并设置它的值。
例如:
JNIEXPORT void JNICALL Java_myFunction
(JNIEnv *, jobject obj, jboolean retJava)
在这里,我从 java 传递 boolean 值,并希望根据我的计算在 C++ 中更改它而无需 return 语句。
最佳答案
很遗憾,您不能不使用 JNI 执行此操作。
你可以使用盒装类型来破解它(参见示例 here )但强烈建议不要这样做,因为它可以轻松破坏各种东西(至于到底是什么,请参见评论在链接的问题中)。
关于java - 如何使用 Java 和 JNI 修改传递给 C++ 例程的原始数据的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41674410/