JNA模拟复杂的C类型——Java映射char*、int*、float*、double*
而使用ByReference对象获取的值则是0(Java中int的默认值),除非你明确知道C函数不管返回何值都对指针的值做了处理,可以使用Pointer,否则请使用ByReference引用对象,避免获取到垃圾值。建议使用对应的ByReference对象替代Pointer,使用Pointer有时可能会得到一个垃圾值(正常情况下两种方式结果一样),如果C中函数执行失败时没有对指针的值进行处理,使用Pointer就会得到一个垃圾值。这里主要分享一些比较复杂的类型之间的映射关系。官方给出的映射关系如下。...
原创
2021-01-17 21:21:06 ·
6072 阅读 ·
10 评论