在C++和java之间使用JNI通信时,我在哪里保存“这个”?
我有一个C++类,叫做^ {CD1>}/P>
class kitten
{
public:
void ChangeColor(int newColor);
int GetColor();
}
现在使用JNI,我想让我的java程序能够使用这个类
我知道如何使用JNI使我的java程序能够调用C风格的函数,但这是一个成员函数
我考虑过添加一个C风格的函数
kitten* CreateNewKitten();
,其中将有一行:return new kitten();
然后以某种方式将这个本机kitten
对象返回给JAVA,然后JAVA代码将调用C风格的函数:
ChangeColor(kitten* myKitten, int newColor)
{
myKitten->changeColor(color)
}
为了说明问题,我的问题是: 是否可以将我的本地kitten返回到java代码?怎样这是正确的方法吗
# 1 楼答案