
JNI JAVA调用C/C++函数时,C++函数参数中有C++的自定义类,JAVA端该如何描述这个接口 100
1个回答
展开全部
无法描述。
如果本地代码需要使用本地的数据结构。那么你首先要写一个构造这个结构的接口,返回指针。用的时候直接传指针。
比如你有个类叫A。你需要另外两个JNI入口,一个long createA(...),一个void destroyA(long)。createA在C++里把A new出来,然后把指针作为强转成jlong返回。用的时候Java端把这个long传到C++端,C++端再把jlong强转回A的指针。destroyA负责销毁。
如果本地代码需要使用本地的数据结构。那么你首先要写一个构造这个结构的接口,返回指针。用的时候直接传指针。
比如你有个类叫A。你需要另外两个JNI入口,一个long createA(...),一个void destroyA(long)。createA在C++里把A new出来,然后把指针作为强转成jlong返回。用的时候Java端把这个long传到C++端,C++端再把jlong强转回A的指针。destroyA负责销毁。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询