在 JNI 中有 jtypes。喜欢jint
forint
和jboolean
for boolean
。我知道后一种类型是 c/c++ types 。但是类型是jtype
? 在书中,他们提到这种类型也是本地类型。那是什么意思?
编辑:
jtype 有什么用?
在 JNI 中有 jtypes。喜欢jint
forint
和jboolean
for boolean
。我知道后一种类型是 c/c++ types 。但是类型是jtype
? 在书中,他们提到这种类型也是本地类型。那是什么意思?
编辑:
jtype 有什么用?
从jni.h
,
typedef unsigned char jboolean
typedef unsigned short jchar
typedef short jshort
typedef float jfloat
typedef double jdouble
typedef long jint
typedef jint jsize
本机类型并不意味着 Java 语言的本机类型,它们是指本机 C 或本机机器等价物。这些j
版本有助于将 Java 类型映射到本机 C 类型。这种映射的好处是,熟悉基本 Java 类型的 Java 程序员可以继续使用与刚刚添加的j
. 他不必理会它们是如何映射到机器的基本类型中的。它将由 typedefs 处理。此外,如果底层机器架构发生变化,您仍然无需费心,只需更改 typedef 即可
在评论中解决您的疑虑_jstring
是一门课。并且jstring
是指向此类的指针
class _jstring : public _jobject {};
typedef _jstring *jstring;
就像我们有String
C++ 中的类一样