char [] cRead=new char [100];
然后用函数:ReadIC(cRead)调用,
声明如下: public native static int ReadIC(char []cRead);
dll中: JNIEXPORT jint JNICALL Java_Applet1_ReadIC(JNIEnv * env,jclass,jboolean cRead[])
{
ReadIC(cRead);
}
ReadIC(unsigned char cRead[])
{...}
我最终想要得是在dll中更改这个数组,然后再java程序中能看到更改的结果。
然后用函数:ReadIC(cRead)调用,
声明如下: public native static int ReadIC(char []cRead);
dll中: JNIEXPORT jint JNICALL Java_Applet1_ReadIC(JNIEnv * env,jclass,jboolean cRead[])
{
ReadIC(cRead);
}
ReadIC(unsigned char cRead[])
{...}
我最终想要得是在dll中更改这个数组,然后再java程序中能看到更改的结果。
JNIEXPORT jobject JNICALL JNICALL Java_Applet1_ReadIC
(JNIEnv * env, jclass cls, jstring qrcode, jstring filename) {
LPCTSTR lpQrString = env->GetStringUTFChars(qrcode, 0);
LPCTSTR lpFileName = env->GetStringUTFChars(filename, 0); ... jclass clsInfo = env->FindClass("cn/com/dhc/sys2/MemInfo");
jmethodID midInfo = env->GetMethodID(clsInfo, "<init>", "()V");
jobject objRetInfo = env->NewObject(clsInfo , midInfo , NULL); return objRetInfo;
}楼主可以在objRetInfo对象里得到想要返回的数据