Javaオブジェクト内にネイティブポインタを格納する「正しい」方法は何ですか?
int
ネイティブ ポインターのサイズが 32 ビット以下であることがわかっている場合はポインターを Java として扱い、ネイティブ ポインターのサイズlong
が 64 ビット以下であることがわかっている場合は Java として扱うことができます。しかし、これを行うためのより良い、またはよりクリーンな方法はありますか?
編集:JNI関数からネイティブポインターを返すことは、まさに私がやりたくないことです。むしろ、ネイティブ リソースを表す Java オブジェクトを返したいと思います。ただし、私が返す Java オブジェクトにはおそらくポインターを含むフィールドが必要であり、元の質問に戻ります。
または、代わりに、JNI 関数がネイティブ リソースへの参照を返すためのより良い方法はありますか?