jna 类型转换 byte*转成Java是什么类型

我转的是ByteByRenference,也能运行,但是有个问题是C里面有个持续回调的函数,调用JNA重写的回调时,无法持续回调,只能调取几次就停了
求指教~

一般是在jna中建立与C结构体对等的对象,即参照C中的struct建立jna中的Structure对象
如果不是struct,那么可以考虑直接按byte[]数组来接收。
然后对照c数据结构,挨个来转换为java数据。
比如C中有个WORD变量,那么WORD是双字节,那么在java中建立一个byte[2]的数组来对应,然后从接收byte[]数组中去除对应的两个byte,再转换为java的整形(注意高低位的处理)。追问

java模拟C的结构体我会 ,现在就是C里有一个持续回调的函数,回调函数我在java里重写了,但是C只调用几次就停了,理论上它会一直调,请问这个问题怎么解决?

追答

看看回调条件和内存方面吧,这个还真没搞过。
可以c调用c调试下,如果没有问题就是c调用java的问题,再来找原因

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-29
我迫不及待了跑了过去……
今晚就要外出捕猎。
你们应该看看那些下面的土地的人们啊,
他迁怒于你们,说,
看清我手中的火把。它就有那么近。
他永远也不能中记丽江,哈哈本回答被提问者采纳
相似回答