考虑我有以下 C 结构定义:
struct StructA {
int a;
int b;
};
struct StructB {
struct A *as;
int count;
};
因此, 的as
字段StructB
指向一个StructA
大小为 's 的数组count
。然后,我struct StructA
用以下类在 Java 中表示:
public class StructA extends Structure {
public int a;
public int b;
public StructA() {
}
public StructA(Pointer p) {
super(p);
read();
}
@Override
protected List<String> getFieldOrder() {
return Arrays.asList(new String[]{"a", "b"});
}
public static class Reference extends StructA implements Structure.ByReference { }
public static class Value extends StructA implements Structure.ByValue { }
}
但是,我将如何struct B
用 Java 表示?由于as
不是内联数组,我必须表示as
为 a Pointer
,那么如何将 JavaStructA[]
转换为 a Pointer
?