【发布时间】:2015-03-04 13:24:03
【问题描述】:
我正在使用 JNA 为 C++ 编写的 DLL 编写 Java 接口,用于控制小型设备。
在翻译我遇到的数据类型时
const char*** someVariable
谁能向我解释一下这是什么意思以及如何在 Java 中重新创建它?
我已经阅读了指针,我正在使用 JNA 文档将 C++ 类型映射到 Java,但我找不到对末尾带有三个星号的类型的引用。
是否应该将其解释为指向字符串数组的指针?
【问题讨论】:
-
它是一个指向一个指向
const char的指针的指针。不幸的是,它可以有多种解释。 -
我会看成一个二维的 c 风格字符串数组。
-
您可能刚刚看过three star programmer 的作品。它可能是一个字符串列表的列表。
-
这意味着无需费心去正确抽象数据类型。您必须阅读文档(或使用它的代码)才能弄清楚为什么会有如此多的间接性。
-
在 java 中最接近的就是静态 [][] char variableName;