char* jstringToString(JNIEnv* env, jstring jstr) 没有提前声明吧,把这个函数移到 main 的前面去呢

解决方案 »

  1.   

    char* jstringToString(JNIEnv* env, jstring jstr); 在最上面生明一下
      

  2.   


    没有main函数。
    应该是按照 birdsaction 的说法提前在最上面声明一下就可以的。
    但想了解下,为什么需要这样做呢?
      

  3.   

    再尝试了一下,发现不需要额外声明也可以,但需要把char* jstringToString(JNIEnv* env, jstring jstr); 的方法体实现提前在
    JNIEXPORT void JNICALL Java_lab_sodino_inotifylab_MainActivity_watch
        (JNIEnv * env, jobject thiz, jstring pathWatch)
    调用之前就写好就可以了。额,发现方法的调用得在方法的声明或实现之后..这点和java不一样..
    这是为什么呢?