我有一个dll,它有一个方法,例如void abc(meth* myMeth)
和一个结构
struct meth
{
int a;
char b[255];
}
上面的代码用c编写。我需要通过JNI将它映射到Java,我被困住了。如何将方法abc
的引用作为Java方法的指针传递,如何设置a
和b
的值,然后再次传回Java?
需要紧急帮助....谢谢
答案 0 :(得分:2)
我不知道这是否适合你,但考虑使用一些更高级别的框架来管理JNI的低级细节。两个选项:
我个人使用过JNAerator,发现它真的很有帮助。
答案 1 :(得分:1)
Java类和C结构之间没有映射(不确定JNA如何处理它);你必须创建一个与C结构具有相同成员的Java类,并编写C函数以在它们之间进行转换。