Comment conserver un object C ++ dans le code Java? Possible?

J’ai tout d’abord une bibliothèque C ++ héritée et je migre mon application vers Android avec une nouvelle interface utilisateur.

Lors de l’exécution, plusieurs objects C ++ peuvent être créés et détruits dynamicment. J’ai construit un ensemble de méthodes JNI natives pour appeler une bibliothèque afin de l’obtenir. Mais où devrais-je conserver ces objects C ++? Je dois les suivre et les libérer si elles ne sont pas nécessaires.

Jusqu’ici, je savais seulement que Java ne pouvait faire référence à un object C ++. Est-il possible de créer une classe wrapper Java incluant une référence à un object C ++?

Merci.

Oui c’est possible. Vous pouvez stocker un pointeur sur votre object C ++ dans un simple java int. C’est exactement comme ça que SWIG fait ça.

JavaCPP prend en charge ce détail en l’enregistrant dans un object Pointer homologue Pointer