Jak przekazać tablicę (tablicę długich w java) z Java do C ++ za pomocą Swig

Mam przykładowy plik .h, jak poniżej:

class Test
{
public:
       void SelectValues(long long values[])
};

Użyłem SWIG i stworzyłem interfejs JNI poniżej pliku .i

%module MyLib
%include "carrays.i"
%array_functions(long long, long_long_array )


%{
  #include "Test.h"
%}

/* Let's just grab the original header file here */
%include <windows.i> /*This line is used for calling conventions*/ 
% include "Test.h"

Kiedy tworzę metodę Java, tworzy ona:

public void SelectValues(SWIGTYPE_p_long_long includeKeys)

Również dla pliku JNI przyjmuje argument jakojlongArray ale prostejlong tylko. Ze względu na ten problem nie mogę utworzyć tablicy o długości podobnej do tejlong[]={1L,2L} i przekaż ją do powyższej metody Java, aby wywołać odpowiednią metodę JNI.

Chcę, aby SWIG generował interfejs w taki sposób, że mogę przekazać wyżej wymienioną tablicę do mojej metody C ++.

przeczytałemto pytanie, ale to nie pomogło mi zobaczyć, jak przekazać tablicę z Java do C ++.

questionAnswers(1)

yourAnswerToTheQuestion