JNI中的C与C++

JNI能用C,也能用C++

这里说一下与前面讲到的一些知识点

在JNI中,最常见的是一个参数 JNIEnv *env

在C中,JNIEnv 是一个结构体指针的别名,env就是一个二级指针!

而在C++中,JNIEvn 就是结构体的别名,env是一级指针

我们以前讲到,调用结构体的方法,可以用结构体的指针直接调用。所以,在C在,调用结构体方法是这样的:

(*evn)->NewStringUTF(evn,"C String");

因为evn在C中是2级指针,故*env就是结构体的指针!

在C++中,是这样调用的

env->NewStringUTF("C String");

因为evn就是结构体指针,没毛病啊直接调

你可能感兴趣的:(JNI中的C与C++)