使用 Python 的 C API 创建对象
假设我的对象布局定义为:
typedef struct {
PyObject_HEAD
// Other stuff...
} pyfoo;
...以及我的类型定义:
static PyTypeObject pyfoo_T = {
PyObject_HEAD_INIT(NULL)
// ...
pyfoo_new,
};
如何在 C 扩展中的某处创建 pyfoo
的新实例?
Say I have my object layout defined as:
typedef struct {
PyObject_HEAD
// Other stuff...
} pyfoo;
...and my type definition:
static PyTypeObject pyfoo_T = {
PyObject_HEAD_INIT(NULL)
// ...
pyfoo_new,
};
How do I create a new instance of pyfoo
somewhere within my C extension?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调用 PyObject_New(),然后调用 PyObject_Init()。编辑: 最好的方法是 调用 类对象,就像在 Python 本身中:
Call PyObject_New(), followed by PyObject_Init().EDIT: The best way is to call the class object, just like in Python itself: