- 主题:搞了一天jni
1. byte[] 在堆里的地址是不固定的,如果你想直接访问底层地址也不是不行,有个 API 叫 GetPrimitiveAraryCritical
2. C 代码直接写入 byte 数组可能会越界的,这时候有可能会导致 java heap 被写坏
--
FROM 123.58.117.*
直接赋值不就行了?
【 在 vmx 的大作中提到: 】
: 不好意思啊打个岔,借帖问下,
: C#里byte[] buf, buf[0]这个首地址我怎么丢给一个指针来着,
: n年不写忘光了,c/pascal里多省事啊,压根没这个问题。
: ...................
--
FROM 123.58.117.*
这种东西还是在线等挺急的管用
【 在 prc79 的大作中提到: 】
: 动手之前把事情想简单了,原以为1天能基本搞完的事最后花了3天半。
: 1.寻找返回byte[]的方法,最后按照一楼兄台的方法返回ByteBuffer。
: 2.最初按照返回int错误码和传对象的方式定义接口。但是后来发现有些对象很难在函数里赋值。又来回换类还是觉得不太好用。最后通通改成返回对象加抛异常的方式。
: ...................
--
FROM 123.58.117.*