Как «const unsigned char *» можно обернуть с помощью Swig для Java - PullRequest
5 голосов
/ 13 июня 2011

Как можно обернуть следующую функцию C SWIG?

int add_option(const unsigned char *data);

В настоящее время я получаю это в:

public static int add_option(SWIGTYPE_p_unsigned_char data);

Возможно ли обернуть его для String, Byte [] или что-то подобное?

Ответы [ 2 ]

3 голосов
/ 13 августа 2012
     %module Example

     %{
       int func(const unsigned char *data);
      %}


      %include <arrays_java.i>

      %apply signed char[] { const unsigned char *data};


      int func(const unsigned char *data);

Используйте этот код !!!!!

1 голос
/ 13 июня 2011

Да, это возможно.В худшем случае вы можете создать свою собственную карту типов.Но применение% должно быть достаточно здесь.Попробуйте это:

    %apply signed char *INOUT { unsigned char *pSeqData };

[Я адаптировал это из аналогичной проблемы в моем файле * .i, после нескольких месяцев без использования Swig.YMMV.]

Директива% apply копирует карты типов из одного типа в другой.Подробнее об этом здесь в руководстве по SWIG .

...