我有一个本机方法int sum(int *,int *)
.我如何从java端传递这个方法的参数。
编辑:我成功运行的示例方法是
双 gsl_stats_mean(doubleArray,int,int);
这个方法在 GSL 中可用,因为我已经创建了共享对象,并且从 java 端我发送了所需的参数,并且我得到了 double 作为返回值。
如果该方法不更改引用的值,那么您只需将参数作为值传递,并以本机代码获取它们的地址:
JNIEXPORT jint JNICALL Java_com_example_Summator_sum(JNIEnv *env, jobject thisObj,
jint firstAddend, jint secondAddend) {
return (jint) sum(&firstAddend, &secondAddend);
}
而Java中的方法是:
native int sum(int firstAdded, int secondAddend);
显然你不需要任何地方的指针,除了sum
函数,因此没有理由在 Java 中使用它们。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)