¿Cuál es la forma "correcta" de almacenar un puntero nativo dentro de un objeto Java?¿Cuál es la forma "correcta" de almacenar un puntero nativo dentro de un objeto Java?
que podría tratar el puntero como Java int
, si me he enterado de que los punteros nativos son < = 32 bits de tamaño, o una aplicación Java long
si me he enterado de que los punteros nativos son < = 64 bits de tamaño. ¿Pero hay una forma mejor o más limpia de hacer esto?
Editar: Volviendo un puntero nativa de una función JNI es exactamente lo que No queremos hacer. Preferiría devolver un objeto Java que represente el recurso nativo. Sin embargo, es probable que el objeto Java que devuelva tenga un campo que contenga un puntero, lo que me lleva de vuelta a la pregunta original.
O, alternativamente, ¿hay alguna forma mejor para que una función JNI devuelva una referencia a un recurso nativo?
estrechamente relacionada con la cuestión http://stackoverflow.com/questions/1632367/passing-pointers-between-c-and-java-through-jni – Raedwald