gpt4 book ai didi

java - 使用 JNA 将 int** 传递给 C 例程

转载 作者:行者123 更新时间:2023-11-29 06:13:18 26 4
gpt4 key购买 nike

我在我的 java 程序中有一个 int[][] 存储一些我想计算(改变)的数据在 C 例程中。但我不知道如何将“指向 int 的指针”传递给声明 f(int sz, int** 结构) 的 C 代码。有什么想法吗?

谢谢,路克.d

最佳答案

因为这个问题被标记为 JNA, Similar Example in JNA docs

// Original C declaration
void allocate_buffer(char **bufp, int* lenp);

// Equivalent JNA mapping
void allocate_buffer(PointerByReference bufp, IntByReference lenp);

// Usage
PointerByReference pref = new PointerByReference();
IntByReference iref = new IntByReference();
lib.allocate_buffer(pref, iref);
Pointer p = pref.getValue();
byte[] buffer = p.getByteArray(0, iref.getValue());

这不是您要找的吗?当有指向指针的指针时,您使用 PointerByReference。

关于java - 使用 JNA 将 int** 传递给 C 例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6002302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com