当前位置: 代码迷 >> Android >> 请教,怎么用JNI返回结构体,一次多个内容
  详细解决方案

请教,怎么用JNI返回结构体,一次多个内容

热度:45   发布时间:2016-05-01 22:00:03.0
请问,如何用JNI返回结构体,一次多个内容。
如果要返回两个值则
[code=C/C++][/code]JNIEXPORT jobject JNICALL Java_com_sundy_jnidemo_CMFJ_getStruct  
(JNIEnv *env, jobject obj)  
{  

  //获取Java中的实例类  
jclass objectClass = (*env)-> FindClass(env,"com/sundy/jnidemo/DiskInfo");  

//获取Java中的构造函数
jmethodID init = (*env)->GetMethodID(env, objectClass , "<init>", "(Ljava/lang/String;I)V");

//调用构造函数创建对象,写入名字和序列号
jobject newObj = (*env)->NewObject(env, objectClass, init, (*env)->NewStringUTF(env, "my name is D:"), 10);

//返回创建的对象
return newObj;
}  


那如果要返回四个则怎么写呢,总是失败

------解决方案--------------------
什么叫返回两个值呢?
看你的代码好像是说返回的对象里面有2个成员变量。
那你说的返回4个值是不是就是说返回的结构体里面有4个成员变量呢?
作为一个程序员,表达如此含糊的话......
  相关解决方案