CObjects¶
Предупреждение
API CObject устарел начиная с Python 3.1. Переключитесь на новый Capsules API.
- PyCObject¶
- Этот подтип PyObject представляет непрозрачное значение, полезное для C-расширений, которым нужно передать непрозрачное значение (как указатель void*) через код Python в другой C-код. Часто используется, чтобы сделать указатель на функцию C, определённую в одном модуле, доступным для других модулей, так что обычный механизм импорта можно использовать для доступа к C API, определённым в динамически загружаемых модулях.
- PyObject* PyCObject_FromVoidPtr(void* cobj, void (*destr)(void *))¶
- Возвращаемое значение: новая ссылка.
Создаёт PyCObject из void * cobj. Функция destr будет вызвана при освобождении объекта, если она не равна NULL.
- PyObject* PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, void (*destr)(void *, void *))¶
- Возвращаемое значение: новая ссылка.
Создаёт PyCObject из void * cobj. Функция destr будет вызвана при освобождении объекта. Аргумент desc можно использовать для передачи дополнительных данных колбэка в функцию деструктора.
- void* PyCObject_AsVoidPtr(PyObject* self)¶
- Возвращает объект void *, с которым был создан PyCObject self.