求助:参数为 Structure** 这种 ,java中该怎么定义该参数类型呢?已经如何初始化呢?
例如:
c中的方法是(Face是 Structure 类型):
int Detect(Face** faces,int* count);
在java中要怎么定义这个方法的参数?及如何初始化?
自己解决了,给其他不会的留个答案。
Face** faces 参数声明为 PointerByRefence 类型,例如:
Face.ByValue face = new Face.ByValue();//Face是自定义的构造体,网上搜一下就知道怎么写。
PointerByReference face_arrays = new PointerByReference(face.getPointer());
最终结果 face_arrays.getValues() 得到指针,再根据指针获取值
http://blog.csdn.net/xie_heng/article/details/49814207
参数是 Structure** 这种形式,不是Structure* 这种,求解答。。
首先,java调用native方法(也就是c/c++)的方式叫做JNI
其次,如何使用JNI(包括java---c/c++数据类型对应关系,native方法签名规则等),最好去找官方文档(google搜索: JNI 等关键字),你提问得到的答案
也不过是别人找来的文档或哪里的博客,所以建议自己动手.
没有写错哈,jna是java调用dll的一个框架,jni要自己写头文件什么的比较麻烦。。。