返回信息流情况是c语言函数A的作用对结构体B赋值
现在想用java调c函数A获得结构体B的值在java中用,于是用jna把struct B和function A包了下变成java的class B和public function A 再把B的对象作为A的型参调A 即A(B);
之后去取值B的变量的时候发现没有被赋值,不知为何。
ps:在模拟struct B 时是这样public static class B extends Structure即默认是byreference
这是一条镜像帖。来源:北邮人论坛 / java / #15467同步于 2010/8/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
问个jna的问题
Nekid
2010/8/10镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
如果用JNI,会比较简单:使用native method setter在其中调用你所说的C语言程序函数读取结构体中的数据,之后设置static fields即可。
感谢ls,我之前是用jna library做的,把c改了改不用结构体,直接在堆里malloc个空间装数据返回一个指针,用jna native的Pointer类里读数组的方法读的。
【 在 Thinker 的大作中提到: 】
: 如果用JNI,会比较简单:使用native method setter在其中调用你所说的C语言程序函数读取结构体中的数据,之后设置static fields即可。
: --
: ---------------------------
: ...................