美文网首页
JNI基础(4): JNI中基础数据类型

JNI基础(4): JNI中基础数据类型

作者: MemetGhini | 来源:发表于2022-01-10 08:35 被阅读0次

JNI中数据类型分为两种,一种是基础数据类型,另一种是引用类型。在调用Java native方法将实参传递给C/C++函数的时候,会自动将java形参的数据类型自动转换成C/C++相应的数据类型,所以我们在写JNI程序的时候,必须要明白它们之间数据类型的对应关系。下面先介绍基础数据类型。

基础数据类型

jni中基本数据类型都是从c/c++基本类型typedef而来的,所以直接用就行,不必转换。

/* Primitive types that match up with Java equivalents. */
typedef uint8_t  jboolean; /* unsigned 8 bits */
typedef int8_t   jbyte;    /* signed 8 bits */
typedef uint16_t jchar;    /* unsigned 16 bits */
typedef int16_t  jshort;   /* signed 16 bits */
typedef int32_t  jint;     /* signed 32 bits */
typedef int64_t  jlong;    /* signed 64 bits */
typedef float    jfloat;   /* 32-bit IEEE 754 */
typedef double   jdouble;  /* 64-bit IEEE 754 */

Java基本数据类型与JNI数据类型的映射关系

Java数据类型 JNI数据类型 C/C++数据类型
boolean jboolean unsigned char
byte jbyte signed char
char jchar unsigned short
short jshort short
int jint int
long jlong long long
float jfloat float
double jdouble double
void void void

相关文章

网友评论

      本文标题:JNI基础(4): JNI中基础数据类型

      本文链接:https://www.haomeiwen.com/subject/ueqpcrtx.html