0
我目前正在尝试使用JNA访问C API。但我有一个无符号的整数参数,通过引用传递的问题。JNA无符号整数通过引用给出奇怪的结果
因此,这里是有问题的C函数:
int EE_DataGetNumberOfSample(DataHandle hData, unsigned int* nSampleOut);
在Java中,我有:
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+")");
这使me:
11000100110110010011000000(51602624)
Altough它应该是0
是不是有什么毛病我使用的是JNA-API的方式?
谢谢!