Was ist der 'richtige' Weg, um einen nativen Zeiger in einem Java-Objekt zu speichern?Was ist der 'richtige' Weg, um einen nativen Zeiger in einem Java-Objekt zu speichern?
Ich konnte den Zeiger als Java int
, behandeln, wenn ich, dass einheimische Zeiger weiß zufällig, < = 32 Bit groß sind, oder ein Java long
wenn ich, dass einheimische Zeiger weiß zufällig, < = 64 Bit groß sind. Aber gibt es einen besseren oder saubereren Weg, dies zu tun?
bearbeiten: eine native Zeiger aus einer JNI-Funktion zurückkehrend ist genau das, was ich tun nicht wollen tun. Ich würde lieber ein Java-Objekt zurückgeben, das die native Ressource darstellt. Das von mir zurückgegebene Java-Objekt muss jedoch vermutlich ein Feld mit einem Zeiger enthalten, das mich zur ursprünglichen Frage zurückbringt.
Oder gibt es alternativ eine bessere Möglichkeit für eine JNI-Funktion, einen Verweis auf eine native Ressource zurückzugeben?
eng mit der Frage im Zusammenhang http://stackoverflow.com/questions/1632367/passing-pointers-between-c-and-java-through-jni – Raedwald