如何修改使用Java和JNI传递给C ++例程的jstring的值?(how to modify the value of a jstring passed to a C++ routine usin

编程入门 行业动态 更新时间:2024-10-24 15:16:57
如何修改使用Java和JNI传递给C ++例程的jstring的值?(how to modify the value of a jstring passed to a C++ routine using Java and JNI?)

我可以使用JNI函数调用将字符串从Java传递到我的C ++例程,并在C ++例程中修改它的值吗?

到目前为止,我已经看到了返回的jstring的例子,我不想这样做。 我知道的另一个选项是获取C ++中字符串变量的ID并设置其值。

目前,我玩的功能如下:

JNIEXPORT void JNICALL Java_myexample_ChangeString (JNIEnv *, jobject obj, jstring strJava)

我想改变strJava的价值。 所以,我要问的是,Java是否可以通过引用传递变量,而不仅仅是通过值。

谢谢。

Can I pass a string from Java to my C++ routine using JNI function calls and modify its value in the C++ routine?

So far, I have seen examples of returning jstring, which I do not want to do. The other option that I know about is to get the ID of the string variable within C++ and set its value.

At present, I am playing with a function like the following:

JNIEXPORT void JNICALL Java_myexample_ChangeString (JNIEnv *, jobject obj, jstring strJava)

And I want to change strJava's value. So, essentially what I am asking is if it Java can pass variables by reference and not just by value.

Thanks.

最满意答案

Java字符串通过设计是不可改变的,您不能更改它们,即使使用JNI也不行。

Java strings are immutable by design, you cannot change them, not even with JNI.

更多推荐

本文发布于:2023-07-05 01:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1031259.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:例程   JNI   Java   jstring   routine

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!