Вопросы по теме 'python-c-extension'

Могу ли я использовать функции C++ при расширении Python?
В руководстве по Python сказано, что вы можете создавать модули для Python как на C, так и на C++. Можете ли вы воспользоваться преимуществами таких вещей, как классы и шаблоны, при использовании C++? Не создаст ли это несовместимости с остальными...
546 просмотров

не могу понять тип проблемы архитектуры при компиляции C-расширения Python с помощью gcc
Я только что обновился со Snow Leopard на Lion, и старое c-расширение Python, которое мне пришлось обновить, не хотело компилироваться должным образом. Я действительно не знаю, что здесь делать. Кто-нибудь, кто может мне помочь, чтобы он...
8522 просмотров
schedule 24.09.2022

Расширение Python C, передающее аргументы по ссылке
Я пытаюсь написать оболочку Python C для функции (libFunc), прототип которой libFunc(char**, int*, char*, int) Как использовать PyArg_ParseTuple для настройки аргументов для вызова функции. Вот что у меня есть на данный момент #include...
823 просмотров
schedule 20.01.2023

Модуль расширения Python с переменным количеством аргументов
Я пытаюсь понять, как в модулях расширения C иметь переменную (а может быть) довольно большое количество аргументов для функции. Читая о PyArg_ParseTuple , кажется, вы должны знать, сколько принимать, некоторые обязательные и некоторые...
5864 просмотров
schedule 28.11.2023

Как правильно передать логическое значение расширению Python C?
Это простой пример из документации по Python (http://docs.python.org/extending/extending.html): static PyObject * spam_system(PyObject *self, PyObject *args) { const char *command; int sts; if (!PyArg_ParseTuple(args, "s",...
11416 просмотров
schedule 01.09.2022

Python исчерпывает память (используя деревья суффиксов)
У меня возникли небольшие проблемы с некоторым кодом. Пожалуйста, имейте в виду, что я ужасный программист, поэтому мое решение, вероятно, не очень красноречиво (и, вероятно, причина, по которой у меня заканчивается память - у меня 4 гигабайта, и...
531 просмотров

вызов устаревших функций c из python
Я хочу вызвать устаревшие сторонние функции c из python. Я создал C API, чтобы упростить вызовы функций. В моем файле python я попытался импортировать *.so для API, который связан с устаревшей библиотекой кода. Но я продолжал видеть ошибку libxxx...
189 просмотров
schedule 08.08.2022

Как я могу ссылаться на #define в файле C из python?
У меня есть файл C, в котором есть куча #define для битов, на которые я хотел бы ссылаться из python. Их достаточно, и я бы предпочел не копировать их в свой код Python, вместо этого существует ли общепринятый метод для ссылки на них непосредственно...
7639 просмотров
schedule 09.08.2022

Расширение Python C: вернуть PyFloat_FromDouble(double) segfault
Недавно я преобразовал медленный код Python в расширение C. Он прекрасно работает, за исключением того, что он генерирует segfault при 162-м вызове, прямо в операторе return. Вот как это работает. Однажды, перед всеми вызовами функции, которую я...
1778 просмотров

PyEval_InitThreads в Python 3: как и когда его вызывать? (сага продолжается до тошноты)
По сути, существует массовая путаница/двусмысленность в отношении того, когда именно PyEval_InitThreads() должен вызываться и какие сопутствующие вызовы API необходимы. официальная документация по Python , к сожалению, очень неоднозначна....
9399 просмотров

Создание массива numpy объектов пользовательского класса с помощью C API
Используя C API, я хотел бы создать массив numpy, содержащий объекты типа Quaternion , который является классом, который я написал на C++. У меня уже есть массив из них (на самом деле std::vector ), и я хочу сделать копию или использовать ту же...
1227 просмотров

Встраивание Python в C, связывание завершается ошибкой с неопределенной ссылкой на `Py_Initialize'
Я пытаюсь скомпилировать пример из документов https://docs.python.org/2.7/extending/embedding.html , и мой код выглядит точно так же, как в версии 5.1: #include <Python.h> int main(int argc, char *argv[]) { Py_SetProgramName(argv[0]);...
18814 просмотров
schedule 04.06.2023

Функция в расширении C случайным образом останавливает выполнение программы Python
Я относительно новичок в расширениях C для Python. Я написал расширение, которое показывает поведение, которое мне кажется странным. Когда я запускаю скрипт Python с использованием этого расширения, скрипт останавливается случайным образом после...
76 просмотров

Можно ли предварительно скомпилировать (предварительно собрать/предварительно установить) расширение Python C/C++?
Есть большой проект Python, над которым я работаю с несколькими расширениями C/C++. В настоящее время каждый раз, когда я хочу запустить код на новой машине, мне приходится загружать все из репозитория, а затем запускать python setup.py install...
359 просмотров
schedule 13.09.2022

Достичь реального параллелизма Python C-Extension
Я написал расширение Python C. Он работает нормально. Но теперь для более эффективного выполнения мне нужно написать многопоточную/параллельную версию того же расширения. Не могли бы вы рассказать мне, как написать код Python C-Extension, который...
221 просмотров

Написание расширения python c, которое изменяет аргумент
Я хочу написать расширение c с функцией, которая изменяет свой аргумент. Это возможно? привет мир.с #include <Python.h> // adapted from http://www.tutorialspoint.com/python/python_further_extensions.htm /***************\ * Argument...
197 просмотров
schedule 02.09.2022

python: ImportError: динамический модуль не определяет функцию экспорта модуля
Я пытаюсь установить свою функцию, написанную на c ( с помощью python3 setup.py install ), но python вызывает ImportError: динамический модуль не определяет функцию экспорта модуля (PyInit_costFunction) ошибка! costFunction.c: static...
2568 просмотров

Утечка памяти расширения Python C
Я написал некоторое расширение C для своих программ на python, и я только что заметил, что есть проблема с утечкой памяти, однако сама программа на C не пропускает память, поэтому я предполагаю, что есть проблема с подсчетом ссылок. В настоящее...
421 просмотров
schedule 04.02.2024

Distutils не вызывает link.exe при использовании WinPython 3.6, но с WinPython 3.5 это работает
Недавно я обновился с Winpython версии 3.5 до соответствующей версии с Python 3.6. Поэтому я должен перекомпилировать свои расширения C, используя новый интерпретатор. Мой сценарий установки выглядит следующим образом: from distutils.core...
139 просмотров

Расширение Python с помощью C: преобразование PyStringObject в PyIntObject
В CPython 2.7 можно ли преобразовать объект PyStringObject непосредственно в объект PyIntObject ? В настоящее время я конвертирую строку Python в целое число Python, используя две функции: PyString_AsString и PyInt_FromString : if...
500 просмотров