¿Cómo convierto un int sin firmar en jint? ¿Debo convertirlo o puedo devolverlo sin ningún tratamiento especial? Este es básicamente mi código en este momento, pero no puedo probarlo, ya que no configuré JNI localmente.JNI: conversión de unsigned int a jint
JNIEXPORT jint JNICALL
Java_test_test(JNIEnv* env, jobject obj, jlong ptr)
{
MyObject* m = (MyObject*) ptr;
unsigned int i = m->get();
return i;
}
Estoy almacenando solo números pequeños, que nunca superarán los límites de un jint, por lo que debería estar bien. – Pedro
¿Alguna vez pueden ser negativos? –
@Jonathan Una vez que el valor alcanza la mitad de la capacidad de un int sin firmar, dará un int negativo debido a la forma en que se implementan los tipos; los valores pequeños están bien – Will03uk