[英]JNA: How to pass a pointer to a local variable?
我有两个局部变量:
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);
怎么样?
new PointerByReference(pointerValue);
new IntByReference(intValue);
您实际上不能“获取地址”本地Java变量。 XByReference
类型为有问题的值分配内存,然后引用该内存的地址。
调用之后,您可以调用XByReference.getValue()
来查看对该内存的任何更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.