我想在C分配一些內存,並把它與Java對象實例相關聯的,是這樣的:Java JNI - 將C中分配的資源與java對象關聯起來?
void configure(JNIEnv *object, jobject obj, ....) {
char *buf = new char[1024];
// associated <buf> with <obj> somehow
}
再後來釋放內存的Java對象被垃圾回收時 - 通過調用我能做到這一點java對象的finalize()方法的JNI函數。
問題是,如何將C指針與java對象關聯?在對象中保留一個長字段並將指針指向long?有沒有更好的辦法?
dup:http://stackoverflow.com/questions/214699/jni-memory-management-using-the-invocation-api – falstro 2010-01-04 07:59:59
排序,在這個問題中沒有討論如何將C對象關聯到java實例。在提供的例子中,指針被投射得很長。這是唯一的方法嗎? – Viktor 2010-01-04 08:44:19