获取Cython poin的值

2024-05-14 22:31:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个函数,它构造一个malloc的unsigned char *数组,然后重新运行指针。在纯Cython或C中,这很简单。只需在函数上设置一个返回类型,并返回指向数组的指针。完成。但是,我已经到了需要返回一个指向用Cython创建的数组的指针的地方,指向Python。我知道指针就是内存地址。有没有什么方法可以将指向Python的Cython指针作为Python对象返回(比如int或hex,因为内存地址本质上是一个数字),这样我就可以基本上管理Python中的指针了?

我试图返回指针的值,如下所示:

cdef unsigned char array[8]

def return_pointer():
    return &array

这当然不起作用,因为转换无法完成。Cython抱怨Cannot convert 'unsigned char (*)[8]' to Python object。有什么建议吗?

编辑:

我不需要访问Python中指针引用的内存地址中的值,只需传递指针。然后我计划使用Python对象指针,并用它作为参数调用c函数。


Tags: 对象方法函数类型return地方数组array

热门问题