Описание тега boost-python

Библиотека для интуитивно понятной и тесной интеграции между C++ и python.
2 ответа

Преобразование из вектора C++ в Numpy ndarray очень медленное

Я использую Boost Python для вычислительных частей программы, и он работает довольно хорошо, за исключением того, что передача массивов из C++ в python и наоборот очень медленная, что ограничивает общую эффективность программы, Вот пример, чтобы про…
03 май '18 в 14:58
1 ответ

Странная ошибка TypeError произошла при вызове функции метода, предоставляемой форсированным питоном

Я пишу оболочку Python для box2d, все работает отлично, но иногда возникает странная ошибка TypeError при вызове функции метода, предоставляемой Boost Python. Это случайное поведение, которое происходит не каждый раз. Код проблемы Python: try: world…
19 дек '12 в 03:25
1 ответ

Выставить C++ буфер как Python 3 байта

Используя Boost::Python, есть ли способ сделать необработанный буфер C++ доступным для Python 3.2 как bytes объект? На Python 2 есть ответ на очень похожий вопрос, но PyBuffer_FromReadWriteMemory описанная функция больше не существует в Python 3. Ре…
14 апр '14 в 15:43
0 ответов

Совместимость mingw и WinPython

Я занимаюсь разработкой смешанного инструмента Python 3/C++. В Windows я использовал WinPython 3.4 и mingw, которые пришли с дистрибутивом тогда. Я использую Boost-Python для компиляции модулей.pyd. Сейчас я обновил исходные коды моей программы, что…
05 ноя '18 в 09:42
1 ответ

Межмодульное разрешение имен исключений через boost python не работает?

Вот моя проблема: У меня есть два модуля C++, A и B, которые построены как динамически связанные библиотеки. A предлагает основные математические функции и пользовательские типы исключений. B - это модуль более высокого уровня, который использует A.…
0 ответов

Запуск методов объектов Boost-Python из пользовательских модулей

Я пытаюсь импортировать пользовательский объект Python (Chart) в некоторый код C++, используя boost:: python. Вот некоторый соответствующий объектный код Python: chart.py: import matplotlib.pyplot as plt import matplotlib.animation as animation impo…
03 фев '17 в 02:38
2 ответа

Каковы относительные преимущества расширения NumPy в Cython против Boost.Python?

Мне нужно ускорить некоторые алгоритмы, работающие с массивами NumPy. Они будут использовать std::vector и некоторые из более продвинутых структур данных STL. Я сузил свой выбор до Cython (который теперь охватывает большинство контейнеров STL) и Boo…
23 янв '17 в 19:07
1 ответ

Как мне вернуть boost::python::tuple, содержащий PyObject*?

В настоящее время у меня есть класс boost.python, который я использую для получения изображений с камеры Basler, преобразую их в изображения opencv и возвращаю их в виде массивов для сценария python. Первоначально у меня был следующий код, который р…
23 янв '18 в 17:31
0 ответов

Boost.Python и Qt наследование

Я хочу обернуть мой код на C++, написанный с использованием инфраструктуры Qt, в python с boost.python. Но я действительно не могу понять одну проблему: когда я обертываю класс, я должен также обернуть его базовый класс. Так должен ли я обернуть QOb…
06 май '16 в 16:11
1 ответ

Boost.Python возвращает список не копируемых объектов

У меня есть тип X который не может быть скопирован, и я хочу показать функцию, которая создает list из них: #include <boost/python.hpp> namespace py = boost::python; struct X { X(int i) : i(i) { } X(const X& ) = delete; X& operator=(X …
28 мар '16 в 12:28
0 ответов

Обертывание функции-члена шаблона C++, которая возвращает указатель с помощью Boost Python

Я обертываю класс C++ и открываю API для Python с помощью Boost Python. Однако я столкнулся с проблемой. У меня есть функция-член шаблона, которая возвращает указатель на переменную-член. Мне нужна функция, чтобы вернуть указатель, так как функция в…
21 ноя '17 в 04:30
2 ответа

Предоставление конструктора с массивом другого класса в качестве аргумента

У меня есть два разных класса, которые я хочу показать с использованием boost-python, но конструктор второго принимает в качестве аргумента массив первого, и я не могу понять, как это сделать. Это определение классов: class INT96{ public: uint64_t v…
28 янв '14 в 15:03
2 ответа

Как использовать 'boost_python-vc110-mt-gd-1_54.lib' в C++?

Я пытаюсь использовать BoostPython, чтобы написать программу на C++. Мои настройки: а. Консольное приложение Win32. б. Свойство->C/C++-> Общие-> Дополнительные каталоги включения->C:\Python27\include;C:\Program Files\boost\boost_1_54_0; с. Property-…
23 сен '13 в 09:42
1 ответ

Boost::python - заполнение вектора указателя C++ на объект класса в python

Здесь моя проблема. Я должен сделать код Python, способный заполнить вектор указателя C++ на объект класса кода C++. Я использую Boost::Python. Это выглядит следующим образом: Код C++: class A_Base {} class A_derived_1 {} ... class A_derived_N {} cl…
27 июн '13 в 10:06
2 ответа

boost::python:: длина списка

Есть ли способ рассчитать длину списка, переданного из Python в C++? Я хочу сделать что-то вроде этого, но список классов не хватает length (или что-нибудь подобное) метод: class Awesome{ public: void awesomeMethod(const boost::python::list& lis…
14 дек '11 в 21:24
1 ответ

Не может убить процесс с помощью Ctrl-c в модуле boost.python с бесконечным циклом

Я сделал модуль boost.python с бесконечным циклом. Но я не могу убить процесс с помощью ctrl-c. Ниже приведен пример. C++ #include <boost/python.hpp> #include <boost/python.module.hpp> #include <boost/python.def.hpp> #include <i…
23 дек '12 в 07:21
2 ответа

Запретить автоматическую хэш-функцию для изменяемых классов

Python допускает значения хеш-функции только для неизменяемых объектов. Например, hash((1,2,3)) работает, но hash([1,2,3]) поднимает TypeError: unhashable type: 'list', Смотрите документацию по Python. Однако, когда я оборачиваю класс C++ в Boost.Py…
25 фев '13 в 01:49
1 ответ

Wrap Boost:: Необязательно, используя Boost:: Python

Есть ли способ обернуть boost::optional<T> введите объект, чтобы выставить его через boost::python::class_ (позаимствованно из BOOST_PYTHON_MODULE) struct Foo { boost::optional<int> bar; }; BOOST_PYTHON_MODULE(module_name) { class_<Fo…
07 апр '16 в 19:48
1 ответ

C++ и Boost Python простая функция

Я построил это.so #include <vector> #include <boost/python.hpp> #include <boost/python/suite/indexing/vector_indexing_suite.hpp> extern "C" { // A function adding two integers and returning the result int SampleAddInt(int i1, int i…
01 апр '15 в 18:57
1 ответ

Использование Boost Python для класса C++, который принимает пользовательский ввод

У меня есть класс C++, который принимает пользовательский ввод в конструкторе, а затем записывает это (и другие вещи) в файл. Он отлично работает на C++ (как на MSVC, так и на GCC), и теперь я хотел бы использовать этот класс в своих проектах на Pyt…
23 янв '15 в 21:46