2010-11-29 13 views
1

Je développe une application Java qui utilise certains appels jni.JNI: équivalent de uint * vboIds en Java

J'ai le code C la variable suivante:

GLuint *vboIds; 

Je veux passer cette variable de Java à C, mais je ne sais pas comment déclarer en Java.

GLuint est équivalent à un int non signé.

Donc, je pense que c'est la déclaration équivalente en Java:

int[] vboIds; 

Que pensez-vous?

Merci

+1

Semble être correct. Avez-vous essayé votre solution? –

+0

Dans le cas où vous essayez de faire des choses OpenGL en Java: il pourrait être plus facile d'utiliser l'une des liaisons Java OpenGL existantes, voir http://jogamp.org/ ou http://www.lwjgl.org/ – Jesper

+0

@Vladimir Ivanov: c'est correct. – VansFannel

Répondre

1

Vous ne dites pas explicitement si elle est censée être un pointeur vers une valeur unique ou un tableau, mais je suppose qu'il est probablement un tableau de la dénomination et ce que vous envisagez de faire avec le mapping (il devrait aussi y avoir un paramètre quelque part qui spécifie la longueur du tableau, ceux-ci correspondent tous deux au même argument du côté Java car les tableaux de Java connaissent leurs propres longueurs). Vous avez probablement raison d'utiliser un int car c'est généralement la même taille qu'un C int - pas que ce soit une garantie, pas du tout, mais pratiquement aucune architecture de machine n'est différente de celle de nos jours - mais vous devez faire attention pour le fait que les types numériques de Java sont tous signés. Ce n'est généralement pas un problème à condition que vous soyez un peu prudent avec l'arithmétique (autre que l'addition, la soustraction et le décalage à gauche, qui fonctionne évidemment) et les comparaisons.

+0

vboIds contiendra une ou deux valeurs. – VansFannel

+0

@Vans: Même ainsi, mon conseil est toujours valable. Vous semblez approcher les choses d'une manière raisonnable; le mappage que vous avez choisi semble au moins être le bon pour votre première tentative, car il est le plus proche en termes de types de données généraux et de tailles. –