On this page
CObjects
Warning
从 Python 2.7 开始不推荐使用 CObject API。请切换到新的Capsules API。
PyCObject
- PyObject的子类型表示不透明值,对于需要pass Python 代码将不透明值(作为
void*
指针)pass Python 代码传递给其他 C 代码的 C 扩展模块很有用。它通常用于使一个模块中定义的 C 函数指针可用于其他模块,因此常规导入机制可用于访问动态加载的模块中定义的 C API。
- PyObject的子类型表示不透明值,对于需要pass Python 代码将不透明值(作为
int
PyCObject_Check
(PyObject ** p *)- 如果其参数为PyCObject,则返回 true。
PyObject *
PyCObject_FromVoidPtr
(void * * cobj ,void(* destr *)(void *))- 返回值:新参考.
从void *
* cobj 创建一个PyCObject。回收对象时将调用 destr 函数,除非它为 NULL *。
- PyObject *
PyCObject_FromVoidPtrAndDesc
(void * * cobj ,void * * desc ,void( destr *)(void *,void *))- 返回值:新参考.
从void *
* cobj 创建一个PyCObject。回收对象时,将调用 destr *函数。 * desc *参数可用于传递析构函数的额外回调数据。