JNI:相当于Java中的uint * vboIds

时间:2010-11-29 08:36:59

标签: java c arrays java-native-interface

我正在开发一个使用一些jni调用的java应用程序。

我在C代码上有以下变量:

GLuint *vboIds;

我想将此变量从 Java 传递给 C ,但我不知道如何用Java声明它。

GLuint等同于无符号int

所以,我认为这是Java中的等效声明:

int[] vboIds;

您怎么看?

由于

1 个答案:

答案 0 :(得分:1)

你没有明确说明它是否是一个指向单个值或数组的指针,但我猜它可能是命名中的一个数组,以及你想用映射做什么(应该也是一个指定数组长度的参数;这些参数都映射到Java端的相同的参数,因为Java的数组知道它们自己的长度)。您可能正确使用int,因为它通常与C int的大小相同 - 这不是保证,根本不是,但几乎没有任何机器架构与现在不同 - 但是你需要注意Java的数字类型都已签名的事实。如果你对算术有点小心(除了加法,减法和左移,显然可以工作)和比较,那大多数都不是问题。