Java + SWIG如何访问结构中数组的元素?

时间:2019-05-22 07:34:41

标签: java arrays struct swig

尝试将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的参数也是如此。

有人可以帮忙吗?

0 个答案:

没有答案