Публикации по теме 'swig'


Мигрируйте из мира C в Python, не переделывая свой код - SWIG it!
Вы также очарованы некоторыми интересными вещами, которые Python и его библиотеки предоставляют вам? Но не могу осмелиться подумать о переключении на этот очень простой в освоении и динамически типизированный язык, потому что ваш старый код живет в мире C / C ++, и преобразование кажется смертельным кошмаром. У меня есть решение этой проблемы. Просто ПРОГРУЗИТЕ свой код. Python - это язык склейки . Это очень хорошо для соединения программ, которые изначально не предназначались для..

Вопросы по теме 'swig'

Каковы рекомендации по использованию SWIG с C#?
Кто-нибудь использовал библиотеку SWIG с C#? Если да, то какие подводные камни вы нашли и как лучше всего использовать библиотеку? Я думаю об использовании его в качестве оболочки для программы, написанной на C, и я хочу обернуть файлы заголовков,...
9228 просмотров
schedule 12.05.2023

Ссылка на существующие оболочки SWIG при создании новых
У меня есть существующая библиотека (JPhysX), которая является оболочкой Java для собственной библиотеки C++ (PhysX). Библиотека Java использует типы, сгенерированные SWIG, например, com.jphysx.SWIGTYPE_p_NxStream , который представляет указатель...
607 просмотров
schedule 17.05.2022

Передача массива Python в вектор C ++ с использованием Swig
У меня есть массив объектов на Python [obj1, obj2, obj3] и я хочу передать их функции C ++ для выполнения некоторых вычислений. Я использую SWIG для написания своего интерфейса. Тип класса переданного объекта уже определен в C ++. Как...
3478 просмотров
schedule 23.03.2022

Расширение python - на глоток, а не на глоток или Cython
Я нашел узкое место в моем коде Python, поигрался с психо и т. Д. Затем решил написать расширение c / c ++ для повышения производительности. С помощью swig практически не нужно беспокоиться об аргументах и ​​т. Д. Все работает нормально. Теперь...
30752 просмотров
schedule 18.04.2024

Swig и классы C++ с подсчетом ссылок
Многие из моих объектов C++ реализуют подсчет ссылок с помощью методов AddRef и FreeRef. Если FreeRef уменьшает счетчик ссылок до 0, объект удаляет себя. Все методы, которые возвращают объект с подсчетом ссылок, не увеличивают ссылку. Это делает...
1079 просмотров
schedule 17.12.2022

Не могу поймать исключение!
Я использую swig, чтобы обернуть класс из библиотеки C++ с помощью python. В целом это работает, но есть исключение, которое выдается из библиотеки, и я не могу его поймать в интерфейсе swig, поэтому оно просто приводит к сбою приложения Python!...
3268 просмотров
schedule 30.07.2023

Приведение типа swig в производный класс?
Я заметил, что Swig предоставляет целый ряд функций, позволяющих приводить типы объектов к их родительским классам. Однако в C ++ можно создать такую ​​функцию: A * getAnObject() { if(someBoolean) return (A *) new B; else return (A *)...
1870 просмотров
schedule 04.04.2022

Python зависает при импорте сгенерированной оболочки Swig
Python «зависает», когда я пытаюсь импортировать общую библиотеку С++ в версию Python 2.5 для Windows, и я понятия не имею, почему. В линуксе все работает нормально. Мы можем скомпилировать весь наш код C++, сгенерировать классы-оболочки swig....
704 просмотров
schedule 05.08.2022

Как передать массивы Perl в/из SWIG?
В Perl я привык передавать массивы в подпрограммы и обратно. sub abc { foreach my $x (@_) { print $x; } return (0, 1, 2); } Как я могу добиться аналогичного поведения с функциями SWIG? SWIG это: std::vector<int>...
2033 просмотров
schedule 02.05.2023

Встраивание Ruby в приложение C++ с помощью SWIG?
В прошлом я успешно создавал привязки Ruby-C++ с помощью SWIG, где код C++ был скомпилирован как динамическая библиотека с подключенным к ней скриптом Ruby. Однако я хотел бы сделать это наоборот. Создайте исполняемый файл с помощью C++ и...
1097 просмотров
schedule 07.06.2024

Создание Windows DLL из исходных файлов C++
У меня есть несколько исходных файлов на С++, с помощью которых я хочу создать библиотеку динамической компоновки. Я вижу, что это происходит в Linux с gcc -shared и ln однако для Windows, я полагаю, мне придется изменить исходные файлы для...
4910 просмотров
schedule 30.06.2023

Отслеживание таблиц Lua в C
У меня есть объекты C++ и объекты/таблицы Lua . (Также есть привязки C++ SWIG .) Что мне нужно сделать, так это связать два объекта, чтобы, если я скажу CObject* o1 = getObject(); o1->Update(); он сделает эквивалентный Lua:...
3441 просмотров
schedule 03.01.2024

Ruby, C++, Swig некоторые классы не экспортируются
Я работал над тем, чтобы моя библиотека С++ Lavish работала с рубином, используя swig. Проблема в том, что можно использовать только некоторые из классов, которые я включил в файл интерфейса, и я не получаю ошибок во время компиляции пакета или...
770 просмотров
schedule 02.08.2022

Как правильно выполнить понижение в С# с интерфейсом, сгенерированным SWIG?
У меня есть очень большая и зрелая база кода C++, для которой я пытаюсь использовать SWIG для создания интерфейса C#. Я не могу изменить сам код C++, но мы можем использовать все, что предлагает SWIG, для его расширения/обновления. Я столкнулся с...
2748 просмотров
schedule 12.11.2022

Сгенерированный SWIG код не запускается на неопределенном символе PHP 5.3.2: zend_error_noreturn
У меня есть библиотека, которую я успешно использую с PHP 5.1.6 с помощью некоторого кода-оболочки, сгенерированного SWIG (v1.3.40). Я только что обновился до PHP 5.3.2 и вижу следующую ошибку: PHP Warning: PHP Startup: Unable to load...
2021 просмотров
schedule 03.02.2024

Как связать как .so вместо .dylib в OSX 10.6 с помощью qmake
Я пытаюсь использовать SWIG, чтобы обернуть некоторый код C++ для использования с Python. Как описано здесь , кажется, необходимо связать мой код C++ с файлом .so , а не с файлом .dylib . Тема предлагает использовать libtool в сочетании с...
3140 просмотров
schedule 03.05.2023

Swig — упаковка C-структуры
Я пытаюсь написать оболочку Python для кода C, который использует struct. modules.c: struct foo { int a; }; struct foo bar; модули.i %module nepal %{ struct foo { int a; } %} extern struct foo bar; Но...
5335 просмотров
schedule 18.05.2024

Исправление Lua + SWIG Monkey
Я использовал SWIG для привязки набора классов к lua. Я знаю, что сам С++ не поддерживает исправление обезьян, и я не пытаюсь изменить свои объекты С++, а просто их представления lua. Проблема возникает, если я хочу начать исправление lua-таблиц и...
528 просмотров
schedule 06.02.2023

Горячо избавиться от выделения/освобождения памяти в обертках swig?
Я хочу использовать swig для создания оболочек только для чтения для сложного объекта. Объект, который я хочу обернуть, всегда будет существовать, пока я буду его читать. Кроме того, я буду использовать свои оболочки только в то время, когда этот...
1351 просмотров
schedule 17.06.2023

Вопрос SWIG-Lua о возвращении класса другого класса
Конкретизирую вопрос, который у меня был ранее. У меня есть два класса на C ++, и я использую SWIG, чтобы обернуть их. Метод одного класса может возвращать указатель на другой класс. Как я могу заставить Lua рассматривать это как нечто большее,...
303 просмотров
schedule 04.01.2023