Как сохранить объект C ++ внутри кода Java?Возможный? - PullRequest
5 голосов
/ 07 апреля 2011

Сначала у меня есть устаревшая библиотека C ++, и я переносю свое приложение на Android с новым пользовательским интерфейсом.

Во время выполнения может быть несколько объектов C ++, созданных и уничтоженных динамически.Я собрал набор собственных методов JNI для вызова в библиотеку, чтобы получить это.Но где мне хранить эти объекты C ++?Я должен следить за ними и освобождать их, если они не нужны.

До сих пор я знал, что Java не может ссылаться на объект C ++.Можно ли создать класс-оболочку Java, включающий ссылку на объект C ++?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 07 апреля 2011

Да, это возможно.Вы можете хранить указатель на ваш объект C ++ в простом Java-int.Именно так SWIG делает это.

0 голосов
/ 07 апреля 2011

JavaCPP заботится об этой детали, сохраняя ее в обертывающем одноранговом Pointer объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...