将原始数组从java传递给c

时间:2015-03-21 17:52:08

标签: java c java-native-interface

我有一个像

这样的int数组
  

int [] [] coordinates = {{346,640,499,666},{555,640,675,666}};

我试图使用JNI将此数组发送到C.我可以找到一维数组的清晰解决方案,但不能找到多维数组。

public class PopulateCoordinates{
public native void Coordinates(int[][] coordinates);

 static {
  System.loadLibrary("libPopulateCoordinates");
 }
 public static void main(String[] args) {

  PopulateCoordinates h = new PopulateCoordinates();
  int[][] coordinates = {{346, 640, 499, 666},{555, 640, 675, 666}};
  h.Coordinates(coordinates);
 }
 }

我的JNI方法将填充从java传递的数组 像这样

  

rect skip_rectarr [2] = {{346,640,499,666},{555,640,675,666}};

JNIEXPORT void JNICALL PopulateCoordinates_Coordinates(JNIEnv *env, jobject obj,jobjectArray inJNIArray)
{
//rect skip_rectarr[2] = { {346, 640, 499, 666}, { 555, 640, 675, 666 }};
}

有谁可以帮我告诉你怎么做?

0 个答案:

没有答案