如何解决将int数组从CJNI传递给Java并将一个int数组从Java返回给C?
我是这里的 Java 新手。我正在使用 JNI 从 C 调用 Java 方法。我可以成功地将 int 值从 C 传递并返回到 Java,但我无法将 Int 数组从 C 传递到 Java 并将一个 int 数组从 Java 返回到 C。请告诉我该怎么做?
下面我提到了我的通用代码。请让我知道如何修改它并实现?我遇到过很多相反的文章(将 int 数组从 Java 传递到 C)。对不起,如果它看起来像一个基本问题。
我的 C 代码:
jclass cls = (*env)->FindClass(env,"Simple");
jmethodID mid = (*env)->GetStaticMethodID(env,cls,"main","([Ljava/lang/String;)V");
jmethodID addnumber_method=(*env)->GetStaticMethodID(env,"add","()V");
(*env)->CallStaticVoidMethod(env,mid,NULL);
printf("sum is %d\n",(*env)->CallStaticIntMethod(env,addnumber_method,a_num,b_num));
我的java代码:
public class simple
{
public static int add(int a,int b)
{
int sum = a+b;
return sum;
}
public static void main(String[] args)
{
System.out.println("C calling java");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。