java - JNA:如何将指针传递给局部变量?

标签 java pointers jna local-variables

我有两个局部变量:

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() 以查看该内存的任何更改。

关于java - JNA:如何将指针传递给局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48531209/

相关文章:

java - 是否有特定的方法来处理 JNA 中结构的 const 指针成员?

java - 为什么我的 "Set-Cookie"响应 header 没有被翻译成实际的 cookie?

java - 使用 JAR 加载 log4j.properties

c++ - 指针和 std::string - 奇怪的行为 - C++

C:无法访问结构中字符串数组中的元素

java - 如何使用 JNA 将二维数组从 Java 传递到 C

java - java.security.egd 选项是干什么用的?

java - 我应该如何使用 servlet 和 Ajax?

c++ - 模板函数如何根据类型在编译时修改它的行为?

java - Kotlin:创建并引用真正的 Java 数组(用于 JNA)