首先,我有一个遗留的C++库,我正在将我的应用程序迁移到具有新用户界面的安卓系统上。
在运行时,可能会动态创建和销毁多个C++对象。我构建了一组JNI本机方法来调用库来实现这一点。但是我应该把这些C++对象放在哪里呢?我必须跟踪它们,如果它们是不必要的,就释放它们。
到目前为止,我只知道Java不能引用C++对象。有没有可能创建一个包含对C++对象的引用的Java包装类?
谢谢。
发布于 2011-04-07 15:54:10
是的,这是可能的。您可以在一个简单的java int中存储指向C++对象的指针。这正是SWIG如何做到这一点的。
发布于 2011-04-07 17:11:48
JavaCPP通过将其保存到包装对等Pointer对象中来处理此细节。
https://stackoverflow.com/questions/5577559
复制相似问题