J'ai écrit du code qui transmet des valeurs entre java et c en utilisant jni.Quel type de données JNI?
Actuellement, toutes les valeurs numériques sont définis comme int (java) -> jnit (JNI/c) -> unsigned int (c)
Les œuvres de code, mais il est vraiment inefficace car tous les chiffres étant passe besoin de la mémoire disponible pour un nombre entier.
J'ai 3 types de valeurs dans mon code qui doivent contenir plusieurs gammes 0-4294967295, 0 à 255 et 0 à 1.
Je ne peux pas travailler sur les types de données compatibles dans les 3 langues « » .
Range Java C/JNI C
4294967296 int jint unsigned int
256 ??? ??? unsigned char
2 boolean jboolean ???
Pouvez-vous s'il vous plaît aviser quels types de données je dois utiliser pour les ??? s ci-dessus?
Merci G
Sur certaines architectures (notamment ARM), travailler avec des valeurs 32 bits est plus rapide qu'avec des valeurs 16/8 bits. Donc, à moins que ce soit l'espace de stockage dont nous parlons, passer des paramètres comme 'int' /' jint' pourrait être une victoire nette. –