joh*_*hna 3 java java-native-interface pointers
我有一个本机方法.int sum(int *,int *)如何从java端传递此方法的参数.
编辑:我成功运行的示例方法是double 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);
}
Run Code Online (Sandbox Code Playgroud)
Java中的方法是:
native int sum(int firstAdded, int secondAddend);
Run Code Online (Sandbox Code Playgroud)
显然除了sum函数之外你不需要任何指针,因此没有理由在Java中使用它们.
| 归档时间: |
|
| 查看次数: |
6860 次 |
| 最近记录: |