【发布时间】:2018-07-25 02:39:01
【问题描述】:
我想为我的 C 函数编写一个包装器,因为我想从 python 代码中调用它。所以我的包装器函数是
static PyObject* my_func_wrapper(PyObject *self, PyObject *args)
{
PyObject* obj_Ptr = my_func();
return Py_BuildValue('O', obj_Ptr);
}
我的 C my_func() 没有参数,并且返回转换为 (void *) 的 MyClass 指针。
当我运行我的 setup.py 脚本时,我得到了这个
warning: passing argument 1 of ‘Py_BuildValue’ makes pointer from integer without a cast [-Wint-conversion]
Py_BuildValue('O', obj_Ptr);
当我从 python 调用 my_func_wrapper 时,返回行中出现 Seg.Fault 错误。
我该如何解决这个问题?
谢谢。
【问题讨论】:
-
"返回 MyClass 指针转换为 (void *)。"你能澄清一下吗?也许显示一个“虚拟”版本的
my_func仍然会重现崩溃。
标签: c python-3.x extension-methods