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

通过JNI从Java回调到本机应用程序,java,java-native-interface,function-pointers,Java,Java Native Interface,Function Pointers,所以我建立了这个C库。它通过JNI调用Java方法,一切正常。但是我如何从Java调用到我的C应用程序中呢 我想象如下:我有一个函数,我取它的地址,我有一个函数指针。我将指针传递给Java(例如作为回调、事件处理程序或任何东西)。如何从Java内部调用该函数 是否有一种方法可以动态显式地绑定原生void方法()指向函数指针还是什么 是否有一个方法可以动态显式地绑定本机void方法();指向函数指针还是什么 是的,有!可以使用将Java方法与C/C++函数动态绑定 要更改实现,您可以先调用Unre

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

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

是否有一种方法可以动态显式地绑定
原生void方法()指向函数指针还是什么

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

是的,有!可以使用将Java方法与C/C++函数动态绑定

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

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

是的,有!可以使用将Java方法与C/C++函数动态绑定


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

要获得
registernations
所需的函数签名,请对具有本机方法的类使用
javah
命令。要获得
registernations
所需的函数签名,请使用
javah
对具有本机方法的类执行命令。