Tag: ctypes

C-функция segfault с именем типа Python ctypes

Я получаю очень странный сбой при использовании ctypes в Python, но я не уверен, проблема связана с Python или C. Вот источник C (в test.c ): #include <stdio.h> void compress(char *a, int b) { printf("inside\n"); } void run() { printf("before\n"); compress("hi", 2); printf("after\n"); } того, как #include <stdio.h> void compress(char *a, int b) { printf("inside\n"); […]

Python. Класс, Строка, Словарь?

Я разбираю пакет TCP / IP в строковый формат. Каков наилучший способ структурирования и хранения? Должен ли я хранить его как структуру ctypes, класс python, словарь или какой-либо другой способ? Каковы плюсы и минусы каждого метода?

Ctypes Python, уничтожение объекта C ++

Рассмотрим следующие типы cythips python – c ++ binding: // C++ class A { public: void someFunc(); }; A* A_new() { return new A(); } void A_someFunc(A* obj) { obj->someFunc(); } void A_destruct(A* obj) { delete obj; } # python from ctypes import cdll libA = cdll.LoadLibrary(some_path) class A: def __init__(self): self.obj = libA.A_new() def […]

ctypes как передать строку из функции python в c ++ и как вернуть строку из c ++-функции в python

Я хочу вызвать функцию c ++ из python, эта функция c ++ принимает char * как параметр и возвращает строку. Ниже мой код. wrapper.cpp #include <Python.h> #include <string> #include <iostream> using namespace std; extern "C" string return_string(char* name){ cout<<strlen(name)<<endl; cout<<name<<endl; string s = "hello "; s += name; return s; } компилировать файл wrapper.cpp в […]

ImportError: Нет модуля с именем _ctypes. Механизм Google-приложений с графиком bokeh

Python 2.7.13 Windows 10 64 бит Я работаю над этим курсом Udacity для веб-разработчиков и хотел бы попытаться включить простой сайт bokeh в веб-страницу, используя этот пример . Запуск dev_appserver.py дает ошибку: ImportError: No module named _ctypes У меня есть: Установлен Bokeh и Numpy по пипе Включено Numpy в app.yaml Этот ответ говорит, что Google […]

Python: извлечение данных из буфера с помощью ctypes

Я могу успешно вызвать функцию с ctypes в Python. Теперь у меня есть буфер, заполненный структурами данных, которые я хочу извлечь. Какова лучшая стратегия для этого? Что еще я должен опубликовать? Функция: class list(): def __init__(self): #[…] def getdirentries(self, path): self.load_c() self.fd = os.open(path, os.O_RDONLY) self.statinfo = os.fstat(self.fd) self.buffer = ctypes.create_string_buffer(self.statinfo.st_size) nbytes = self.statinfo.st_size transferred_bytes […]

Ptyon Ctypes Crashes Вызывает C-оболочку C ++-функции

Я пытаюсь использовать Python Ctypes для взаимодействия с опубликованной (закрытой исходной) библиотекой C ++. Я (попробовал) написал базовую оболочку функции стиля C, чтобы построить объекты стиля векторного стиля C ++ и вызвать подпрограмму C ++. Я также (попробовал) написал базовый скрипт python для загрузки разделяемой библиотеки. Все работает, кроме строки, которая вызывает процедуру C ++, […]

какой тип указателя ctype перейдет на imgBayerColorDecode NI IMAQ?

Я использую ctypes для доступа к API-интерфейсу получения изображений от National Instruments (NI-IMAQ). В нем есть функция imgBayerColorDecode() которую я использую на изображении, закодированном в Bayer, которое возвращается из функции imgSnap() . Я хотел бы сравнить декодированный вывод (то есть изображение RGB) с некоторыми numpy ndarrays, которые я создам на основе исходных данных, что и […]

Комплексное число в ctypes

Это может быть немного глупо, но я пытаюсь использовать ctypes для вызова функции, которая получает сложный вектор в качестве параметра. Но в ctypes нет класса c_complex. Кто-нибудь знает, как это решить? edit: Я ссылаюсь на ctypes python, если есть другие …

скрыть статический объект C ++ при создании общей библиотеки для ctypes

Я пытаюсь обернуть библиотеку C ++, используя модуль ctypes для python. Из предыдущего сообщения и этого я знаю, что мне нужно использовать «extern C» для обертывания открытого интерфейса, чтобы имена объектов не искажались. Мой открытый интерфейс – это всего лишь один вызов функции (без обертки класса). Но моя библиотека C ++ широко использует статические объекты […]

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