将可变大小的数组从C返回到Java

时间:2014-03-25 20:12:45

标签: java c arrays java-native-interface swig

我正在使用SWIG库让Java(Android)应用程序调用C函数。

我需要让一些C函数将可变大小的数组返回给Java。我怎么能这样做?

我考虑将long long *转换为jlong​​array,但我不知道如何通过SWIG将jlong​​array传递给Java。

有没有人知道使用SWIG(或任何方式)将可变大小的数组从C传递到Java的最佳方法?

1 个答案:

答案 0 :(得分:0)

我尝试在SWIG中制作自定义类型地图,但是当我这样做时,我得到了段错误。

我最终通过在JNI中编写一个新函数来解决这个问题,该函数将数组元素放入jlong​​Array中,而不是让SWIG为它编写包装函数。