考虑我有以下 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?