JNIEnvのCとC++での呼び出し方法
478 ワード
JNIEnv*envの場合、Cでの呼び出し形式は次のとおりです.
C++で上記のように呼び出すと「base operand of」->「has non-pointer type」_が発生します.JNIEnv'エラーです.次の呼び出しが必要です.
理由:jniを参照.hにおけるJNIEnvの定義:
#if defined(__cplusplus)
typedef _JNIEnv JNIEnv;
#else
typedef const struct JNINativeInterface* JNIEnv;
#endif
(*env)->NewStringUTF(env, "Hello from JNI!");
C++で上記のように呼び出すと「base operand of」->「has non-pointer type」_が発生します.JNIEnv'エラーです.次の呼び出しが必要です.
env->NewStringUTF("Hello from JNI!");
理由:jniを参照.hにおけるJNIEnvの定義:
#if defined(__cplusplus)
typedef _JNIEnv JNIEnv;
#else
typedef const struct JNINativeInterface* JNIEnv;
#endif