茶叶网站策划,厦门电商网站,wordpress模板如何安装,金普新区城乡建设局网站基本数据类型#xff1a; Java 中的 int 对应 JNI 中的 jint。Java 中的 boolean 对应 JNI 中的 jboolean。Java 中的 float 对应 JNI 中的 jfloat。Java 中的 double 对应 JNI 中的 jdouble。Java 中的 byte 对应 JNI 中的 jbyte。Java 中的 short 对应 JNI 中的 jshort。Jav… 基本数据类型 Java 中的 int 对应 JNI 中的 jint。Java 中的 boolean 对应 JNI 中的 jboolean。Java 中的 float 对应 JNI 中的 jfloat。Java 中的 double 对应 JNI 中的 jdouble。Java 中的 byte 对应 JNI 中的 jbyte。Java 中的 short 对应 JNI 中的 jshort。Java 中的 long 对应 JNI 中的 jlong。Java 中的 char 对应 JNI 中的 jchar。 对象类型 Java 中的 Object 对应 JNI 中的 jobject。Java 中的 Class 对应 JNI 中的 jclass。Java 中的数组对应 JNI 中的相应类型比如 int[] 对应 jintArray。 字符串类型 Java 中的 String 对应 JNI 中的 jstring。 其他类型 Java 中的 void 对应 JNI 中的 void。Java 中的 void* 或者 Object 指针对应 JNI 中的 jlong 或者 intptr_t。Java 中的枚举类型等可通过整数表示在 JNI 中直接使用对应的整数类型。例如以下的举例
#include jni.h
#include stdio.hJNIEXPORT void JNICALL Java_com_ichtj_test_JNIExample_callNativeMethod(JNIEnv *env, jobject obj, jint intValue, jfloat floatValue, jdouble doubleValue, jboolean booleanValue, jchar charValue, jstring stringValue, jintArray intArray) {// 将 Java 中的 int 类型转换为 JNI 中的 jint 类型printf(Received int value in JNI: %d\n, intValue);// 将 Java 中的 float 类型转换为 JNI 中的 jfloat 类型printf(Received float value in JNI: %f\n, floatValue);// 将 Java 中的 double 类型转换为 JNI 中的 jdouble 类型printf(Received double value in JNI: %lf\n, doubleValue);// 将 Java 中的 boolean 类型转换为 JNI 中的 jboolean 类型if (booleanValue) {printf(Received boolean value in JNI: true\n);} else {printf(Received boolean value in JNI: false\n);}// 将 Java 中的 char 类型转换为 JNI 中的 jchar 类型printf(Received char value in JNI: %c\n, charValue);// 将 Java 中的 String 类型转换为 JNI 中的 jstring 类型const char *str (*env)-GetStringUTFChars(env, stringValue, NULL);printf(Received string value in JNI: %s\n, str);(*env)-ReleaseStringUTFChars(env, stringValue, str);// 将 Java 中的 int[] 类型转换为 JNI 中的 jintArray 类型jint *arrayElements (*env)-GetIntArrayElements(env, intArray, NULL);jsize length (*env)-GetArrayLength(env, intArray);printf(Received int array values in JNI: );for (int i 0; i length; i) {printf(%d , arrayElements[i]);}printf(\n);(*env)-ReleaseIntArrayElements(env, intArray, arrayElements, 0);
}