Как реализовать шаблон наблюдателя в C ++, вызывая метод Java в JNI

У меня есть код, который реализует шаблон наблюдателя в C ++. Я создал код Java JNI, который похож на код C ++ для регистрации наблюдателя. Когда я регистрирую наблюдателя в Java, он вызывает native метод, который создает слушатель в C ++.

Я хочу, чтобы вызовы методов в C ++ вызывали эквивалентные методы в моем Java-наблюдателе, который зарегистрирован. Я создал код для этого, передав JNIEnv к классу наблюдателя в C ++, но я слышал, что это небезопасно. Есть ли лучшая практика для этого типа реализации?

0

Решение

Ты можешь использовать SWIG директора в ответ на этот вопрос: Как передать указатель Java-функции на собственный код C ++

Я также рекомендовал бы использовать SWIG вместо JNI напрямую.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]