How to obtain a new Pointer in Java?

前端 未结 3 1816
闹比i
闹比i 2021-01-18 00:07

How can I call a method with this method signature in C from JNA?

int open_device(context *ctx, device **dev, int index);

The last two line

3条回答
  •  夕颜
    夕颜 (楼主)
    2021-01-18 00:22

    There are no pointers in Java, only references.

    You cannot reassign a reference when you pass them to methods, because you pass them by value. Everything is passed by value in Java.

    You can rewrite this method to instantiate a new instance of the device and return that instead of an int.

提交回复
热议问题