【发布时间】:2011-12-25 21:45:08
【问题描述】:
我需要一种简单的方法将 C 结构传递给 Python 函数。我已将 Python 嵌入到游戏服务器中,我打算用 Python 编写游戏逻辑。我搜索了谷歌和邮件列表,没有发现任何有用的东西。我在 C 中有一个复杂的结构(带有指向其他相对复杂结构的指针),但没有找到合理的方法。
我有这个结构:
struct client {
int state;
int sockfd;
struct sockaddr_in *addr;
struct epoll_event *epollev;
struct buffer *in_buffer;
struct buffer *out_buffer;
struct packet *packet;
struct player *player;
};
并且需要将它传递给 Python 函数,在该函数中我可以使用通用语法轻松访问成员(最好不要使用 dicts 之类的东西,尽管这也可以)。这几乎就像我需要一个 PyObject_FromStruct 函数或其他东西。
有没有相对简单的方法来做到这一点?
【问题讨论】:
-
我将如何使用 Cython 来传递结构?我正在查看文档,但找不到任何我正在寻找的工作示例。感谢您的宝贵时间。
标签: python c python-c-api python-c-extension