我正在开发一个使用一些jni调用的java应用程序。
我在C代码上有以下变量:
GLuint *vboIds;
我想将此变量从 Java 传递给 C ,但我不知道如何用Java声明它。
GLuint
等同于无符号int
。
所以,我认为这是Java中的等效声明:
int[] vboIds;
您怎么看?
由于
答案 0 :(得分:1)
你没有明确说明它是否是一个指向单个值或数组的指针,但我猜它可能是命名中的一个数组,以及你想用映射做什么(应该也是一个指定数组长度的参数;这些参数都映射到Java端的相同的参数,因为Java的数组知道它们自己的长度)。您可能正确使用int
,因为它通常与C int
的大小相同 - 这不是保证,根本不是,但几乎没有任何机器架构与现在不同 - 但是你需要注意Java的数字类型都已签名的事实。如果你对算术有点小心(除了加法,减法和左移,显然可以工作)和比较,那大多数都不是问题。