尝试将C结构传入和传出Java。一切正常,除了我无法弄清楚如何读取和写入结构内部数组的元素。我读到有关memberin typemap的信息,但是我确定我仍然没有正确使用它。我的模块文件如下所示:
%include "typemaps.i"
%typemap(memberin) uint8_t [8] {
int i;
for (i = 0; i < 8; i++) {
$1[i] = $input[i];
}
}
typedef struct
{
uint8_t myarray[8];
int myvar;
} MyStruct;
在Java中,我希望能够像这样使用生成的MyArray对象:
MyStruct s = new MyStruct();
SWIGTYPE_p_uint8_t[] myarray = s.getMyarray();
s.setMyarray(myarray);
但是,相反,生成的getMyarray()返回SWIGTYPE_p_uint8_t而不是它的数组。 s.setMyArray的参数也是如此。
有人可以帮忙吗?