注意:其中OpenFunc声明了一个回调类型,也就是一个函数指针,可以通过init将java中的OpenFunc方法传递进来,设置这个函数指针,如此一来,可以实现C++到Java的回调。
3、Java代码
创建一个Java项目JNADemo,创建一个包clibtest,创建以下java代码:
package clibtest;
import com.sun.jna.Callback;
import com.sun.jna.Library;
public interface CLib extends Library{
public interface OpenFunc extends Callback {
void invoke(String filename, int i);
}
void init(OpenFunc openfunc);
void test();
}