android jni c++指针传递到java层数据不一致

来源:互联网 发布:vue.js radio默认选中 编辑:程序博客网 时间:2024/06/13 07:20

昨天遇到个问题,java层调用c++自定义类,原来可以正常调用的,添加了64架构,就是arm64-v8a和x86_64后就无法调用了,总是报引用非法地址错误,不停的debug和调试,搞了一下午,最后锁定到c++传指针到java层时指针不对了,根据打印的数据发现c++传递到java层后数据改变了,这就很无奈啊,我又不知道怎么传递的,所以就想用其他方法来实现,虽然实现了,可是感觉就是不好。

今天还在搞这个问题,终于搞定了

代码是参考网上其他人的,他们是在java层用int来引用c++指针,由于指针太大了,就越界了,所以java层收到的数据就和c++的不一样了,想到opencv里用的是long所以我也改成long来引用指针,问题解决

原创粉丝点击