将无符号变量作为Java中在C dll中实现的方法的引用传递

问题描述 投票:1回答:1

我有一个包含这样的方法的dll

f(DWORD a, DWORD b, ulong *c)

我有一个在C#中声明此方法的示例,如下所示

f(uint a, ref uint b, ref IntPtr c)

现在我想在Java中实现相同的功能。 java不支持uint和ref。我添加了JOOU库以拥有UInteger,但我不知道如何将其作为参考传递。

java c# dll ref uint
1个回答
0
投票

使用jna库,我们可以传递IntByReference而不是ref uint。调用方法后,我们只需将其更改为无符号值因此,在Java中,我们有

f(UINT a, IntByReference int_b, PointerByReference c)
long b = int_b & 0xFFFFFFFFL;
© www.soinside.com 2019 - 2024. All rights reserved.