我有这样的事情:访问从Java结构内的指针数组与痛饮
typedef struct {
char * content;
} Boo;
typedef struct {
Boo **data;
int size;
} Foo;
我想Boo ** data
转换为与Boo
元素(Boo[]
)在Java中使用SWIG的数组。然后读取数组(我不想编辑,删除并从Java代码创建一个新的数组)。在SWIG文档中描述了如何使用carrays.i
和array_functions
来完成此操作,但结构的成员data
必须是Boo*
。有没有解决我的问题?
编辑: 我匆匆忙忙,我忘了写我想用SWIG生成Java类来与C结构合作。
除非你给'Foo'增加一个长度,否则这听起来完全不可能,因为你不能单独从指针中神奇地推导出长度。 – unwind 2012-08-14 12:36:30
@unwind对不起,我忘了添加'size'成员。我编辑了我的问题。 – 2012-08-14 12:39:30
假设您的数据结构中有3个以上的元素。你将如何访问第三个元素?假设你有一个对象'Foo x',其中'x.size> = 3'。 – pmg 2012-08-14 12:45:56