【问题标题】:How to implement observer pattern in C++, calling Java method in JNI如何在 C++ 中实现观察者模式,在 JNI 中调用 Java 方法
【发布时间】:2014-02-13 13:18:45
【问题描述】:

我有在 C++ 中实现观察者模式的代码。我创建了类似于 C++ 代码的 Java JNI 代码来注册观察者。当我在 Java 中注册一个观察者时,它会调用一个 native 方法,该方法在 C++ 中创建一个监听器。

我希望 C++ 中的方法调用调用我注册的 Java 观察者中的等效方法。我通过将JNIEnv 传递给C++ 中的观察者类为此创建了代码,但我听说这不安全。是否有此类实施的最佳实践?

【问题讨论】:

    标签: java c++ java-native-interface observer-pattern jnienv


    【解决方案1】:

    您可以根据这个问题的答案使用SWIGdirectors:How to pass java function pointer to c++ native code

    我还建议直接使用 SWIG 而不是 JNI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 2013-12-09
      • 2017-11-13
      • 1970-01-01
      相关资源
      最近更新 更多