我有两个局部变量:
Pointer output;
int output_len; /* or better `size_t output_len;` */
我需要将指向这些变量的指针传递给JNA函数的(相同的命名参数):
public int libcomcom_run_command(
byte[] input,
size_t input_len,
PointerByReference output,
Pointer output_len,
byte[] file,
PointerByReference argv,
PointerByReference envp,
int timeout);
如何?
答案 0 :(得分:1)
new PointerByReference(pointerValue);
new IntByReference(intValue);
你实际上无法取得地址"本地Java变量的。 XByReference
类型为有问题的值分配内存,然后引用该内存的地址。
在调用之后,您可以调用XByReference.getValue()
来查看对该内存的任何更改。