Java-JNI - zuordnen von Ressourcen in C mit java-Objekten?

Will ich weisen Sie einige der Speicher in C und halten Sie es im Zusammenhang mit einem java-Objekt-Instanz, wie diese:

void configure(JNIEnv *object, jobject obj, ....) {
  char *buf = new char[1024];
  //associated <buf> with <obj> somehow
}

Und dann später den Speicher frei, wenn das java-Objekt wird Müll gesammelt - ich könnte dies tun, indem Sie den Aufruf einer JNI-Funktion aus dem finalize() - Methode des java-Objekt.

Die Frage ist, wie Verbinde ich einen C-pointer mit dem java-Objekt? Halten Sie eine lange - Feldes in der Objekt-und der cast der Zeiger auf langen? Gibt es einen besseren Weg?

  • dup: stackoverflow.com/questions/214699/...
  • Art, in dieser Frage gibt es keine Diskussion darüber, wie die Zuordnung der C-Objekt der java-Instanz. Im vorgestellten Beispiel wird der Zeiger casten zu lange. Ist dies der einzige Weg?
InformationsquelleAutor Viktor | 2010-01-04
Schreibe einen Kommentar