Tag: c ++

boost :: python: использование обратного вызова

У меня есть файл header (fingisdk.h): #ifndef FINGISDK_H_ #define FINGISDK_H_ #include "fingienum.h" #ifdef __cplusplus extern "C" { #endif typedef void (*fingi_event)(FINGI_EVENT_ID eventId, char* msg); FINGI_EVENT_ID start_fingi_sdk(char* ini_file_location); FINGI_EVENT_ID download_room_info(char** roominfo); void register_fingi_sdk_status_event_listener(fingi_event pointer_to_listener_fnc); #ifdef __cplusplus } #endif #endif А потом я написал для этого паттерна Python Wrapper: #include <fingisdk.h> #include <fingienum.h> #include <boost/python.hpp> BOOST_PYTHON_MODULE(libpythonWrapper) { […]

Force setup.py использовать мой собственный компилятор

Я пытаюсь получить setup.py для компиляции кода c ++ с версией gcc macports. Проблема в том, что код, который я пытаюсь создать, не поддерживает clang по умолчанию для mac, который по умолчанию является gcc для новых версий osx. Я создал собственный файл setup.cfg setup.cfg [build_ext] compiler=gcc-mp-4.8 Однако, когда я запускаю python setup.py build_ext я получаю […]

Как конвертировать (typemap) зубчатый вектор вектора C ++ в Python в SWIG

Какова версия печатной карты SWIG для преобразования неровного вектора C ++ вектора возвращаемого типа в список Python? std::vector<std::vector<int>>

Как вернуть вывод из файла pyrun_simple в c-коде

Код { char name[MAX_JSON_FIELD]; FILE *fp; copy_cJSON(name,objs[0]); if ( (fp= fopen(name, "r")) != 0 ) { Py_Initialize(); PyRun_SimpleFile(fp, name); Py_Finalize(); fclose(fp); } return(clonestr("return string")); } Как я могу заставить его вернуть вывод файла python вместо его печати?

Совместим ли QML с многопоточными / асинхронными вызовами?

Я создаю пользовательский интерфейс в QML и только сейчас работаю над логикой пользовательского интерфейса, оставляя логику приложения позже. Я немного обеспокоен всеми дискуссиями, которые я просмотрел в отношении многопоточности и асинхронности по сравнению с синхронным кодом и медлительностью в пользовательских интерфейсах, и я хочу убедиться, что когда логика приложения будет добавлена ​​позже, QML не собирается […]

Я правильно использую ctypes для pythonify этой структуры?

Я пытаюсь поговорить с этой DLL, используя ctypes python. Многие функции берут или возвращают тип HGRABBER : typedef struct HGRABBER_t__ { int unused; } HGRABBER_t; #define HGRABBER HGRABBER_t* ( здесь можно просмотреть полный файл заголовка). Вот пример прототипа функции, который возвращает тип HGRABBER : HGRABBER __stdcall IC_CreateGrabber(); Вот моя попытка реализовать эту структуру в python […]

Создание массива numpy в C из выделенного массива вызывает утечку памяти

Я проследил утечку памяти в моей программе на модуль Python, который я написал на C, чтобы эффективно проанализировать массив, выраженный в ASCII-hex. (например, «FF 39 00 FC …») char* buf; unsigned short bytesPerTable; if (!PyArg_ParseTuple(args, "sH", &buf, &bytesPerTable)) { return NULL; } unsigned short rowSize = bytesPerTable; char* CArray = malloc(rowSize * sizeof(char)); // Populate […]

Обобщенная универсальная функция в numpy

Я пытаюсь сделать обобщенный ufunc, используя numpy API. Входы представляют собой одну (nxm) матрицу и скаляр, а выходы – две матрицы ( (nxp) и (pxm) ). Но я не знаю, как это сделать. Кто-то может мне помочь? В функции init я использую функцию PyUFunc_FromFuncAndDataAndSignature с сигнатурой: "(n,m),()->(n,p),(p,m)" Я могу читать входы (матрица и скаляр), но […]

SWIG с препроцессорным макросом из препроцессора форсирования

Я использую перечисление с реализацией ToString, которое было предложено здесь: Как преобразовать переменную типа enum в строку? Насколько я могу судить, он работает и отлично работает. Мои проблемы возникают, когда я пытаюсь обернуть и экспортировать макрос в библиотеку Python, завернутую в SWIG. Аналогичный вопрос: ошибки SWIG из-за директивы препроцессора. Там было решение добавить заголовки / […]

Передача вектора c ++ на python и обратно

Я использую код c ++ для моделирования изображений. В какой-то момент мне нужно пометить кластеры изображений, для которых я хочу использовать python ndimage.label (потому что он почти в 10 раз быстрее, чем мой код маркировки). Однако я очень новичок в python и понятия не имею, как передать аргументы (изображение) на python из C ++. Поиск […]

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