首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

jni调用.so库传值字符串

2013-08-04 
jni调用.so库传值字符串 求助现有一项目 需要java调用 C++的.so库 需要传字符串代码如下extern C {JNIEX

jni调用.so库传值字符串 求助
现有一项目 需要java调用 C++的.so库 需要传字符串

代码如下

extern "C" {
    JNIEXPORT jstring JNICALL Java_com_plustimes_pptestand_BackData_backData(JNIEnv* env, jobject obj,jstring number){
 //         const char *str = env->GetStringUTFChars(env, number);
 //         const char* str = env->GetStringUTFChars(number, false);
//            const char* str = env->NewStringUTF(number);
//            CCLog("gm---------0----------%d",str);
    };
}

如代码显示 传值进来的字符串  number 需要转成 C++层可用的
求 转 jstring转 char 代码 以上代码只有
const char* str = env->GetStringUTFChars(number, false); 
这段可以交叉编译成功 但取出来的数值不对 是一串数字 JNI Java C++
[解决办法]
const char* str = (char*)env->GetStringUTFChars(number, false);   看看,或者
str = (char*)(*env)->GetStringUTFChars(env, jstring, NULL);

热点排行