gpt4 book ai didi

java - 将字符串从 Java 传递到 JNI

转载 作者:IT老高 更新时间:2023-10-28 20:46:21 25 4
gpt4 key购买 nike

我想将一个字符串传递给我正在编写的 JNI,它必须分配给一个 const char*。下面提到的是我是如何做到的:

JNI...(...,jstring jstr...){

const char* str = env->GetStringUTFChars(jstr,0);
env->ReleaseStringUTFChars(str,jstr,0);

}

但是,如果我在分配给 jstring 之后 printf const char* str 与我直接在 JNI 中分配 str 值并从那里分配 printf 时相比,我看到的是不同的。

这是正确的做法吗?或者有没有其他方法可以将 java 中的字符串分配给 JNI 中的 const char* ?

最佳答案

java代码

public static native double myMethod( String path);  

C 代码

JNIEXPORT jdouble JNICALL Java_your_package_structure_className_myMethod
(JNIEnv * env, jobject jobj, jstring pathObj) {
char * path;

path = (*env)->GetStringUTFChars( env, pathObj, NULL ) ;

关于java - 将字符串从 Java 传递到 JNI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4247002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com