相关疑难解决方法(0)

JNI字符串返回值

我有一个Java实例方法,它返回一个String,我在C++中通过JNI调用此方法.我写了以下代码:

const char *DiagLayerContainer_getDESC(JNIEnv *env, jobject diagLayer) {
    jclass diagLayerClass = env->FindClass(PARSER_CLASS);
    jmethodID getDESCDiagLayerMethodID = env->GetMethodID(diagLayerClass, "getDESCDiagLayer", "(Ljava/lang/Object;)Ljava/lang/String;");
    jstring returnString = (jstring) env->CallObjectMethod(diagLayer, getDESCDiagLayerMethodID);
    return env->GetStringUTFChars(returnString, JNI_FALSE);
}
Run Code Online (Sandbox Code Playgroud)

如何获取字符串并将其转换为const char*?

我的程序在最后一行崩溃,访问冲突为0x00000000.returnString不是NULL.

c++ java string java-native-interface

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

java ×1

java-native-interface ×1

string ×1