Tag: c ++

Как обойти утечку памяти в DLL поставщика, используемую в Python?

Я использую API-интерфейс поставщика для части программного обеспечения для бизнеса, загружая их библиотеку с помощью модуля ctypes Python. После развертывания программного обеспечения, которое я написал, я обнаружил, что библиотека поставщика теряет память на последовательной и предсказуемой основе в зависимости от количества вызовов определенной функции, которая является частью их API. Я даже продублировал утечку в программе […]

как перейти на C ++-код при отладке python с использованием DDD (или gdb)

Для тестового примера у меня есть этот тестовый класс C ++, который я экспортировал на Python с использованием boost. (С сайта boost) #include <boost/python.hpp> using namespace boost::python; struct WorldC { void set(std::string msg) { this->msg = msg; } std::string greet() { return msg; } std::string msg; }; BOOST_PYTHON_MODULE(hello) { class_<WorldC>("WorldP") .def("greet", &WorldC::greet) .def("set", &WorldC::set) ; […]

Определение более сложных статических массивов

Довольно часто в числовых методах есть много коэффициентов, которые являются статическими, поскольку они фиксируются для конкретного метода. Мне было интересно, что лучше всего в Cython / C установить такие массивы или переменные. В моем случае методы интеграции Рунге-Кутты в основном совпадают, за исключением коэффициентов и количества этапов. Прямо сейчас я делаю что-то вроде (упрощенного) # […]

Обмен информацией между кодом Python и кодом C ++ (IPC)

У меня есть 2 базы кода, одна в python, одна в c ++. Я хочу поделиться данными в реальном времени между ними. Я пытаюсь оценить, какой вариант лучше всего подходит для моего конкретного случая использования: многие небольшие обновления данных из программы C ++ в программу python они оба работают на одной машине надежность важна низкая […]

Отображать интеллектуальные указатели в eclipse cdt с помощью gdb pretty printers

Когда я отлаживаю приложение c ++ 11, я хочу, чтобы объекты unique_ptr и shared_ptr указывали. Но, используя красивые принтеры libstdc ++, печатается только строка с адресом и подобным материалом, но я не могу ее расширить, чтобы просмотреть ее содержимое. Я уже пробовал следующее обходное решение, но я не работал для меня: https://sourceware.org/ml/gdb/2013-04/msg00042.html Может ли кто-нибудь […]

Пропустить массив указателей функций через SWIG

С помощью https://stackoverflow.com/a/22965961/353337 я смог создать простой пример того, как передать один указатель на функцию через Python. В частности, с double f(double x) { return x*x; } double myfun(double (*f)(double x)) { fprintf(stdout, "%g\n", f(2.0)); return -1.0; } %module test %{ #include "test.hpp" %} %pythoncallback; double f(double); %nopythoncallback; %ignore f; %include "test.hpp" я могу позвонить […]

используя ctypes для вызова указателя функции, который указывает на функцию, которая определяется статическим

Я использую Python 3.6.0 и ctypes для доступа к функциям, экспортированным из .dll. Я хочу получить доступ к функциям путем создания экземпляра прототипа функции с параметром paramflags. Одна из функций в .dll определяется как статическая, поэтому она не экспортируется. Однако .dll также содержит указатель на функцию, указывающий на эту функцию и экспортируемый. Это упрощенная версия […]

Точность теряется / изменяется после того, как данные поступают на модуль Cython

Я портировал код, который использовал NumPy в Cython, чтобы повысить производительность. Я добился значительного повышения, но я столкнулся с одной проблемой. Результаты, полученные Cython, отличаются от результатов, полученных Python. Я понятия не имею, почему это происходит, поэтому я решил посмотреть, что толкает модуль Cython. До того, как он дойдет до Cython, данные выглядят так: azimuth […]

Установка stdout на неблокирование в python

Предыдущее предупреждение : я взламываю здесь из любопытства. У меня нет особых причин делать то, что я делаю ниже! Ниже сделано на Python 2.7.13 на MacOS 10.12.5 Я был взломан с помощью python, и я подумал, что было бы интересно посмотреть, что произошло, если бы я сделал stdout неблокирование fcntl.fcntl(sys.stdout.fileno(), fcntl.F_SETFL, os.O_NONBLOCK) Вызов fcntl определенно […]

boost :: python: выдать класс C ++ скрипту python, встроенному в приложение C ++

Я успешно могу загрузить файл сценария python и вызвать функцию с использованием boost::python в приложении C ++. В файле boost python EmbeddingPython есть подсказка о том, как загрузить модуль python . namespace bp = boost::python; bp::object import(const std::string& module, const std::string& path, bp::object& globals) { bp::dict locals; locals["module_name"] = module; locals["path"] = path; bp::exec("import imp\n" […]

Python - лучший язык программирования в мире.