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程序中能看到更改的结果。

解决方案 »

  1.   

    很早以前写的调用dll:
    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对象里得到想要返回的数据