我有在C ++中实现观察者模式的代码。我创建了类似于C ++代码的Java JNI代码来注册观察者。当我在Java中注册观察者时,它调用{C}的一个native
方法来创建一个监听器。
我希望C ++中的方法调用能够调用已注册的Java观察者中的等效方法。我已经通过将JNIEnv
传递给C ++中的观察者类来为此创建代码,但我听说这不安全。这种实施方式是否有最佳实践?
答案 0 :(得分:0)
根据此问题的答案,您可以使用SWIG个导演:How to pass java function pointer to c++ native code
我还建议直接使用SWIG而不是JNI。