мне нужно вызвать функцию с подписью, как это:Как извлечь массив `struct *` из указателя на этот массив (в JNA)?
size_t findDevices(devStruct_t **devs[]);
Некоторые примеры кода C использует функцию следующим образом:
devStruct_t **arrOfPointers;
size_t size;
size = findDevices(&arrOfPointers);
for(size_t i = 0; i < size; i++) {
printf("devId:%d\n", arrOfPointers[i]->id);
}
Как бы я повторить приведенный выше код в Java с помощью ЮНА?
Я думаю, что функция подписи ЮНА должна выглядеть следующим образом:
NativeLong findDevices(PointerByReference devs);
Я могу запустить это без сбоев:
NativeLong size;
PointerByReference stdevs = new PointerByReference();
size = libstlink.stlink_probe_usb(stdevs);
Но, я не знаю, как получить доступ к структурам.
Тогда вопрос должен быть «как разыменовать PointerByReference» или что-то подобное, я думаю. – Fildor
Возможно, это может помочь: http://www.eshayne.com/jnaex/index.html?example=7 – Fildor