如何保持C++;Java代码中的对象?可能的 首先我有一个遗留的C++库,我用新的UI将我的应用程序移植到Android上。 运行时,可能会有多个C++对象动态创建和销毁。我构建了一组JNI本机方法来调用库来获得它。但是我应该把C++对象放在哪里呢?我必须跟踪它们,如果它们不必要,我就把它们释放出来 我知道java不能引用C++对象。是否可以制作一个java包装类,其中包含C++对象的引用?

如何保持C++;Java代码中的对象?可能的 首先我有一个遗留的C++库,我用新的UI将我的应用程序移植到Android上。 运行时,可能会有多个C++对象动态创建和销毁。我构建了一组JNI本机方法来调用库来获得它。但是我应该把C++对象放在哪里呢?我必须跟踪它们,如果它们不必要,我就把它们释放出来 我知道java不能引用C++对象。是否可以制作一个java包装类,其中包含C++对象的引用?,java,c++,android,java-native-interface,Java,C++,Android,Java Native Interface,谢谢。是的,有可能。你可以在一个简单的java int中存储C++对象的指针。这就是它的正确用法。保存它,把它保存到一个包装对等体指针< /Cord>对象> < /p>中。谢谢。但是我必须把它保存很长时间吗?是否可以以更类似对象的方式保存它?嗯,可以将C++类包到java类中,java方法在其中封装了本机方法。在调用这些本机方法时,将传递本机指针(int)和其他参数。在C++方面,这个指针被转换成C++的C++类指针,然后调用这个类的方法。你真的应该看看,它可以自动为你生成所有这些包装。第五,请

谢谢。

是的,有可能。你可以在一个简单的java int中存储C++对象的指针。这就是它的正确用法。

保存它,把它保存到一个包装对等体<代码>指针< /Cord>对象> < /p>中。谢谢。但是我必须把它保存很长时间吗?是否可以以更类似对象的方式保存它?嗯,可以将C++类包到java类中,java方法在其中封装了本机方法。在调用这些本机方法时,将传递本机指针(int)和其他参数。在C++方面,这个指针被转换成C++的C++类指针,然后调用这个类的方法。你真的应该看看,它可以自动为你生成所有这些包装。第五,请看我下面的答案,使用javacppcarear,现在的原生指针很可能不适合javaint,除非你有一个遗留的32位平台。但是长时间可能有效,只要您从不执行可能误解符号位的操作。