Ich brauche eine Funktion mit einer Signatur wie folgt zu nennen:Wie extrahiere ich ein Array von `struct *` von einem Zeiger auf dieses Array (in JNA)?
size_t findDevices(devStruct_t **devs[]);
Einige C Codebeispiel wird die Funktion wie folgt verwendet:
devStruct_t **arrOfPointers;
size_t size;
size = findDevices(&arrOfPointers);
for(size_t i = 0; i < size; i++) {
printf("devId:%d\n", arrOfPointers[i]->id);
}
Wie würde ich den obigen Code in Java unter Verwendung von JNA replizieren?
Ich denke, die JNA Funktion Signatur sollte wie folgt aussehen:
NativeLong findDevices(PointerByReference devs);
Ich kann laufen ohne Absturz:
NativeLong size;
PointerByReference stdevs = new PointerByReference();
size = libstlink.stlink_probe_usb(stdevs);
Aber ich weiß nicht, wie die Strukturen zugreifen.
Dann Frage sollte "wie ZeigerByReference dereference" oder etwas ähnliches, ich denke. – Fildor
Vielleicht kann dies helfen: http://www.eshayne.com/jnaex/index.html?example=7 – Fildor