Передача byte[] из Java в C++JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Передача byte[] из Java в C++

Сообщение Anonymous »

Я пытаюсь передать параметр byte[] с двоичными данными и строковый параметр из кода Java в код C++ с помощью SWIG.
Вот мои файлы .i и .cpp:
my_module.i

Код: Выделить всё

%module mymodule
%inline %{
extern void compress_buffer_to_file(unsigned char *buffer, char *ofname);
%}
my_module.cpp

Код: Выделить всё

void compress_buffer_to_file(unsigned char *buffer, char *ofname){
.........
}
Сгенерированный метод в оболочке Java:

Код: Выделить всё

public static void compress_buffer_to_file(SWIGTYPE_p_unsigned_char buffer, String ofname) {
my_moduleJNI.compress_buffer_to_file(SWIGTYPE_p_unsigned_char.getCPtr(buffer), ofname);
}
Как определить файл .i, который будет генерировать оболочку Java, которая позволит мне передавать byte[] вместо SWIGTYPE_p_unsigned_char в метод compress_buffer_to_file или альтернативно? Как связать существующий byte[] на стороне Java с SWIGTYPE_p_unsigned_char?
Я безуспешно пытался использовать карту типов.

Подробнее здесь: https://stackoverflow.com/questions/335 ... -java-to-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»