我正在编写一个函数,它构造一个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函数。
目前没有回答
相关问题 更多 >
编程相关推荐