JNI: эквивалент uint * vboIds в Java - PullRequest
1 голос
/ 29 ноября 2010

Я разрабатываю Java-приложение, которое использует некоторые вызовы jni.

У меня есть код на C следующей переменной:

GLuint *vboIds;

Я хочу передать эту переменную из Java до C , но я не знаю, как объявить это в Java.

GLuint эквивалентно неподписанному int.

Так, Я думаю, что это эквивалентное объявление в Java:

int[] vboIds;

Что вы думаете?

Спасибо

1 Ответ

1 голос
/ 29 ноября 2010

Вы не говорите явно, подразумевается ли это как указатель на одно значение или массив, но я предполагаю, что это, вероятно, массив из именования и что вы думаете делать с отображением (там должно быть также быть параметром где-то, определяющим длину массива; оба эти параметра сопоставляются с одинаковым аргументом на стороне Java, так как массивы Java знают свою собственную длину). Вы, вероятно, правы в использовании int, поскольку он, как правило, такого же размера, что и C int - не то, чтобы это было гарантией, совсем нет, но вряд ли какие-либо архитектуры компьютеров отличаются от тех, что в наши дни - но вы нужно следить за тем, что числовые типы Java все подписаны. Это, в основном, не проблема, если вы немного осторожны с арифметикой (кроме сложения, вычитания и сдвига влево, которые работают явно) и сравнений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...