通过JNI从Java调用本机应用程序

时间:2013-06-03 21:31:07

标签: java java-native-interface function-pointers

所以我构建了这个C库。它通过JNI调用Java方法,一切正常。但是如何从Java回调到我的C应用程序?

我想象如下:我有一个函数,我拿它的地址,我有一个函数指针。我将指针传递给Java(例如作为回调,事件处理程序或任何东西)。如何在Java中调用该函数?

是否有一种方法可以动态显式地将native void method();绑定到函数指针或其他东西?

1 个答案:

答案 0 :(得分:1)

  

是否有一种方法可以动态显式绑定本机void方法();一个函数指针或什么?

是的!您可以使用RegisterNatives动态地将Java方法与C / C ++函数绑定。

要更改实现,您可以先调用UnregisterNatives,然后再调用RegisterNatives。