Drowsy Dog's Diary

any note, any thought

2013年6月21日
by kazoo
1 Comment

JNIへのポインタ渡し

久々に JNI いじったら案の定忘れててハマった。
盛大に時間を奪われて悲しいのでメモっておく。。

Java 層から Native への Byte 配列のポインタ渡しは、GetByteArrayElements() を使ってインターフェースポインタ env から取得する。

配列のサイズを取得するには GetByteArrayLength()。
Native 側での参照が終了したら、ReleaseByteArrayElements() で解放してやる。
そのままポインタに触ると signal 11 で落ちるんだけど、「通ることもある」のが余計に厄介。。

ついでに String の場合は