为什么Swig在Java中生成变量引用数组。? 我用Sigg做C++应用程序的样例java。我想把两个值从java传递到C++中,并从C++中获取更新后的值。我把两个值作为java的C++传递给C++。Swig为每个引用变量生成一个包装器方法作为数组
我所做的: 测试 testJNI.java: test.java: Java和JNI文件是数组数据类型,用于变量的按引用传递 在Java中是否有其他方法生成变量的pass-by-reference为什么Swig在Java中生成变量引用数组。? 我用Sigg做C++应用程序的样例java。我想把两个值从java传递到C++中,并从C++中获取更新后的值。我把两个值作为java的C++传递给C++。Swig为每个引用变量生成一个包装器方法作为数组,java,c++,pass-by-reference,swig,Java,C++,Pass By Reference,Swig,我所做的: 测试 testJNI.java: test.java: Java和JNI文件是数组数据类型,用于变量的按引用传递 在Java中是否有其他方法生成变量的pass-by-reference < p>是否在同一个int变量中尝试获取新的值?这不能在java中完成,因为原语总是按值传递。Swig绕过它并传递可以写入的对象 %module test %{ extern int test(int& val1,int& val3); %} %include <t
<如何将更新值从C++返回到java,而不是将数组的格式作为变量的变量。?< /p> < p>是否在同一个int变量中尝试获取新的值?这不能在java中完成,因为原语总是按值传递。Swig绕过它并传递可以写入的对象
%module test
%{
extern int test(int& val1,int& val3);
%}
%include <typemaps.i>
%apply int& OUTPUT { int& val1,int& val3 }
extern int test(int& val1,int& val3);
int test(int& val1,int& val2)
{
val1=5;
val2=10;
}
public class testJNI {
public final static native int test(int[] jarg1,int[] jarg2);
}
public class test {
public static int test(int[] val2, int[] val2) {
return testJNI.test(val1,val2);