Tag: c ++

Ускорьте оболочку Python и ошибку аргумента OpenCv с помощью cv :: Mat

У меня есть класс C ++, который я обернул с помощью Boost Python. Один из методов класса принимает два cv::Mat s так: MyClass::do_something(cv::Mat input, cv::Mat output) Функциональность, которую я предоставил с помощью python, включает описанный выше метод, конструктор и несколько методов печати. Методы инициализации и печати (для отладки) хорошо работают как в C ++, так […]

Каков наилучший способ создания пифагорейских троек?

Я пробовал с этим простым кодом, когда вы просто проверяете все комбинации для a и b, а затем проверяете, является ли квадратный корень c целочисленным, но этот код очень медленный, тогда я попытался с формулой Евклида a = d*(n^2 – m^2) b = 2*n*m*d c = d*(n^2 + m^2) и я написал код, в котором […]

Извлечение SWIG-обернутого экземпляра / указателя C ++ для использования в Cython

У меня есть экземпляр класса из SWIG-обернутой библиотеки C ++, из которой я хотел бы извлечь его ссылку, чтобы иметь возможность использовать ее внутри файла Cython, в котором я непосредственно связываюсь с одной и той же библиотекой C ++, используя более легкая самодельная обертка Cython того же класса. Я знаю, что это будет не так […]

Python ctypes: wraping c ++ класс с операторами

Я хочу обернуть небольшой тестовый класс C ++ для использования в python с использованием ctypes. Класс называется Edge и имеет оператор сравнения друзей (==). Я испытываю трудности с реализацией функции сравнения в коде python-оболочки. Краткий заголовок Edge : class Edge { private: int p1, p2; public: Edge(const int pp1, const int pp2); ~Edge(){}; friend bool […]

Массив фиксированного размера SWIG Python, переданный по ссылке

Я пытался выяснить, как передать массив фиксированного размера по ссылке, используя SWIG для python. В основном я рассматриваю интерфейс numpy.i для этого. Тем не менее, я не могу найти ссылку на эту онлайн-версию. Для обычного массива, передающего numpy, как вы это делаете, это сначала функция C ++ в foo.h : void foo(double* array, int length); […]

Печать нулевого символа («\ x00») в Python vs C

Когда я кодирую и запускаю оператор: print "\x00\x00\x00" в Python он выводит три пробела, за которыми следует новая строка. Но в C, когда я кодирую и запускаю оператор: char hex[] = "\x00\x00\x00"; printf("%s\n", hex); он интерпретирует NULL-байты, как я думал, это будет: он ничего не делает. Итак, почему в Python NULL-байты рассматриваются как пробелы? …

Передача массивов numpy в Cython на функцию C, которая требует динамически распределенных массивов

У меня есть код C, который имеет следующее объявление: int myfunc(int m, int n, const double **a, double **b, double *c); Таким образом, a представляет собой постоянный 2D-массив, b представляет собой 2D-массив, а c представляет собой 1D-массив, все динамически распределенные. b и c не должны быть чем-то конкретным, прежде чем они будут переданы myfunc , […]

вложение ошибки python при инициализации

когда im запускает код C для вызова функций python, есть ошибка в Py_Initialize () Ошибка: ImportError: Нет модуля с именем site. Ive попытался поместить Py_SetProgramName (argv [0]), но он не работает. Вызов cmd – это cInterfacePython Test.py умножить 3 2 (exe – cInterfacePython)

Связывание с C / Python: изменение адреса указателя

Источник C ++ extern "C" { Service* create_service( int port ) { Settings settings; settings.set_port( port ); auto service = new Service( settings ); std::cout << "create_service returning pointer address: " << service << std::endl; return service; } void release_service( Service* service ) { std::cout << "release_service consuming pointer address: " << service << std::endl; […]

Объявить структуру, содержащую поле time_t в Python CFFI

Я использую CFFI для вызова функции C из Python, которая возвращает структуру. Структура определяется элементом time_t . Как объявить структуру CFFI, чтобы я мог получить к ней доступ с Python? Например, я попробовал следующее (чтобы получить измененное время файла): import cffi ffi = cffi.FFI() ffi.cdef(""" // From POSIX struct timespec { time_t tv_sec; long tv_nsec; […]

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