Попытка передать структуру C в и из Java. Все работает, за исключением того, что я не могу понять, как читать и записывать элементы массива внутри структуры. Я читал про карту типов членов, но уверен, что все еще не правильно ее использую. Мой файл модуля выглядит так:
%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.
Может кто-нибудь помочь, пожалуйста?