JNIEnvのCとC++での呼び出し方法

478 ワード

JNIEnv*envの場合、Cでの呼び出し形式は次のとおりです.
(*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