Articles of swig

Создайте типовую карту для функции, которая возвращает аргументы

Я конвертирую C api> Java, и у меня есть следующий прототип функции. /* Retrieves an individual field value from the current Line \param reader pointer to Text Reader object. \param field_num relative field [aka column] index: first field has index 0. \param type on completion this variable will contain the value type. \param value on […]

Как создать расширение для уже завернутой библиотеки через SWIG?

У меня есть библиотека. Он взламывается через SWIG. Я хочу создать плагин для его расширения. Плагин требует class из уже обернутой библиотеки для запуска с чем-то вроде void init( oldT old); , Библиотека используется с Java и c #. Теперь этот плагин также будет использоваться оттуда. Библиотека и плагин являются отдельными dll. Как oldT SWIG, […]

swig get return type from variable в struct как строковый массив в java

Для небольшого проекта Java мне нужно было взаимодействовать с существующим кодом, написанным на C, поэтому сделать все просто (я, к сожалению, не программист на C / C ++ ..) Я решил использовать swig. Первая проблема, с которой я столкнулся: функция C, которая вернула строку с разделителями в NULL, привела к завернутому коду, который вернул String, […]

Python, stdout, C и SWIG

Предположим, что у меня есть функция из c: Привет void hello() { printf(“Hello How are you”); } Теперь он завернут в функцию python hello.py . Теперь, когда я запускаю функцию python hello.py , я получаю вывод, но я хочу сохранить его в переменной. Я попытался использовать этот метод: import sys import StringIO stdout = sys.stdout […]

SWIG возвращает returntype из String как массив String в java

Для небольшого проекта Java мне нужно было взаимодействовать с существующим кодом, написанным на C, поэтому сделать все просто (я, к сожалению, не программист на C / C ++ ..) Я решил использовать swig. Сгенерированный код обертки, похоже, работает; однако, когда я вызываю функцию, которая должна дать мне список строк с нулевым ограничением (это то, что […]

JNI для C с использованием Swig & trouble с обратным вызовом функции-указателя

у нас есть функция C в одной из библиотек, которые загружаются в java, которая принимает указатель на функцию функции, как показано ниже typedef char int8 typedef unsigned short uint16 uint32 poll_broadcasts(void *(pfn)(int8*,uint16)); В C он используется как ниже void handle_broadcasts( int8 *broadcast, uint16 length ) uint32 a = poll_broadcasts( (void*(*)(int8*,uint16)) handle_broadcasts ) Но когда вы […]

UnsatisfiedLinkError вызывает JNI, сгенерированный SWIG?

Я пытаюсь создать динамическую библиотеку C, вызываемую с Java. Я собрал DLL под Cygwin , используя SWIG для создания JNI со следующим make-файлом: CC= gcc -mno-cygwin SWIG= /cygdrive/c/Documents\ and\ Settings/student/Desktop/swigwin-2.0.4/swig.exe -java INCLUDE1= -I/cygdrive/c/Program\ Files/Java/jdk1.6.0_25/include INCLUDE2= -I/cygdrive/c/Program\ Files/Java/jdk1.6.0_25/include/win32 utilities: ${SWIG} utilities.i ${CC} -c utilities.c utilities_wrap.c ${INCLUDE1} ${INCLUDE2} ${CC} -shared utilities.o utilities_wrap.o -Wl,–add-stdcall-alias -o utilities.dll Вот содержимое […]

Является ли тип функции «extern __declspec (dllimport) INT __cdecl» имеет смысл в C / C ++ или SWIG?

Я пытаюсь обернуть DLL, используя его заголовочный файл, через SWIG. Я получил синтаксическую ошибку при обработке моего интерфейса .i-файла с помощью SWIG. После отслеживания того, что было нарушающей линией (номер строки, напечатанной сообщением об ошибке SWIG, не соответствовал строке истинного нарушения), я обнаружил, что минимальный файл без обработки для SWIG-интерфейса: /* example.i */ %module example […]

% typemap и% exception для кодов ошибок из C-функций для SWIG, Python

У меня есть код C, который я хочу открыть для Python. У этого есть конвенция вызова как это: int add(int a, int b, int *err) где возвращаемое значение будет (a + b) или что угодно, но если что-то пошло не так, тогда я получу код ошибки в * err. Я хочу обернуть эту функцию так, […]

Как мне заставить SWIG автоматически обертывать эмулированный «этот» указатель на C-структуру?

У меня есть простой class С “, который я реализовал, используя указатели функций в структуре для реализации функций-членов и передавая указатель на структуру как первый аргумент каждой функции, подобный неявному” этому “указателю в C ++. %module mytest %{ typedef struct mytest mytest; struct mytest { int data; int (*func1)(mytest *,int); void (*func2)(mytest *,int); }; int […]

Intereting Posts
Увеличение по сравнению с точками последовательности Разница между макросом и препроцессором чтение / запись BMP-файлов в c Почему мы используем указатели в собственных реляционных структурах? Использовать typedef внутри struct для именования и индексирования текстовых команд Цепочка несколько больше / меньше, чем операторы Как хранить ключи ассоциативного массива в C, реализованные через hcreate / hsearch по значению (не по ссылке)? Что создает posix_fadvise () для записи последовательного файла? C: Оператор модуля на unsigned int дает неожиданный вывод как сделать работу gcc ftrapv? Почему не может (или нет) компилятор оптимизировать предсказуемый цикл добавления в умножение? Эта программа не работает должным образом для десятичных знаков более 10 цифр? Что означает «#define assert (exp) ((void) 0)« делать? Примеры DBusWatch и DBusTimeout используя собственный метод object-c для обратных вызовов C