通过参考JNA无符号整数给出了奇怪的结果
-
25-09-2019 - |
题
目前,我正在试图访问使用JNA一个C API。但是我有一个问题,正在通过引用传递的无符号整数的参数。
因此,这里是有问题的C函数:
int EE_DataGetNumberOfSample(DataHandle hData, unsigned int* nSampleOut);
在爪哇我有:
public int EE_DataGetNumberOfSample(Pointer hData, ByReference nSampleOut);
这就是我如何使用它:
IntByReference nSamplesTaken = new IntByReference();
edk.EE_DataGetNumberOfSample(hData.getValue(), nSamplesTaken);
int nativeNSamplesTaken = nSamplesTaken.getValue();
System.out.println(Integer.toBinaryString(nativeNSamplesTaken)+"("+nativeNSamplesTaken+")");
这使我:
11000100110110010011000000(51602624)
Altough它应该是0。
时有什么问题我使用的是JNA-API的方式?
谢谢!
解决方案
要回答我的问题:
有什么不对的代码段我张贴在这里,但有另一种具有无关的问题完全无关的错误。
[关闭]
不隶属于 StackOverflow