Java通过JNA调用c++库时传参含有结构体时,只继承Structure是不够的,还需要实现Structure.ByValue,或者强制指定结构体字节对齐。示例如下:
1、c++库中的结构体定义:
2、java中结构体定义:
3、java中调用
如果没有implements Structure.ByValue,或者没有指定字节对齐数目,会导致c++库接收到的结构体数据错乱。
Java通过JNA调用c++库时传参含有结构体时,只继承Structure是不够的,还需要实现Structure.ByValue,或者强制指定结构体字节对齐。示例如下:
1、c++库中的结构体定义:
2、java中结构体定义:
3、java中调用
如果没有implements Structure.ByValue,或者没有指定字节对齐数目,会导致c++库接收到的结构体数据错乱。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/924877.html
如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!