나는이 같은 서명으로 함수를 호출해야합니다(JNA에서) 해당 배열에 대한 포인터에서`struct *`의 배열을 어떻게 추출합니까?
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);
}
가 어떻게 JNA를 사용하여 Java에서 위의 코드를 복제 할 것인가? 나는 구조에 액세스하는 방법을 모른다,
NativeLong size;
PointerByReference stdevs = new PointerByReference();
size = libstlink.stlink_probe_usb(stdevs);
그러나 :
NativeLong findDevices(PointerByReference devs);
내가 충돌없이 실행할 수 있습니다 :
은 내가 JNA 기능 서명을 같이한다고 생각합니다.
그러면 "PointerByReference를 역 참조하는 방법"또는 비슷한 것으로해야합니다. – Fildor
아마도 도움이 될 수 있습니다. http://www.eshayne.com/jnaex/index.html?example=7 – Fildor