экземпляр класса хранения java jni для последующего повторного использования

мои классы Java, которые отражают классы C++, содержат поле, содержащее указатель C++ на экземпляр C++, эта часть работает так же, как и многие другие оболочки

То, что я хочу сделать, это наоборот

Я хочу иметь возможность хранить экземпляр java в поле пользовательских данных класса С++.

когда библиотека С++, которую я оборачиваю, возвращает экземпляр класса С++, я хочу иметь возможность брать пользовательские данные и преобразовывать их обратно в экземпляр класса java, который содержит этот указатель, я НЕ хочу воссоздавать новый объект java с указателем но повторно используйте исходный экземпляр класса...

чтобы помочь этому объяснению, я подробно расскажу пример жизненного цикла

создается новый объект java конструктор объекта java вызывает собственную функцию с «this», он создает объект C++, который объект java отражает ссылку java «this», которая хранится в поле «userData» объекта C++

когда другая функция C++ возвращает указатель C++, этот указатель используется для извлечения userData, содержащего ссылку на экземпляр java, который его инкапсулирует.

экземпляр java исходного объекта возвращается в java...

где я передал значение java этому C++ и привел его к длинному printf, всегда показывает одно и то же значение для разных экземпляров!


person Chris Camacho    schedule 06.01.2012    source источник


Ответы (1)


когда другая функция C++ возвращает указатель C++, этот указатель используется для извлечения userData, содержащего ссылку на экземпляр java, который его инкапсулирует.

person sdf    schedule 03.05.2012
comment
когда другая функция C++ возвращает указатель C++, этот указатель используется для извлечения userData, содержащего ссылку на экземпляр java, который его инкапсулирует. - person sdf; 03.05.2012
comment
извините, это не имеет смысла, можете ли вы перефразировать свой ответ, в частности, как я могу сохранить ссылку (в С++) на конкретный класс java instance и позже (в java) воссоздать этот объект - person Chris Camacho; 06.05.2012