【发布时间】:2015-03-26 01:12:24
【问题描述】:
我有一个可用的 C 程序,现在我正在嵌入一个实现特定功能的 python 脚本。
问题是,传递给 Python 的参数是用 C 定义的复杂(我的意思是嵌套)C 结构。我希望解决方案能够轻松地进行两种通信方式:
1.用C语言创建结构,并将其传递给Python。让 Python 做一些修改。
2.在 Python 中创建结构。并将其传回给 C。
我正在尝试“SWIG”为结构生成一些包装器,以及一些使用 SWIG for Python 的辅助函数,以便它可以返回结构的一些嵌套部分,以便我可以轻松地通过 Python 访问结构。
这是一个很好的解决方案,还是我可能会错过一些非常简单的解决方法?
【问题讨论】:
-
这并不容易,你需要一个
PyTypeObject,特别是tp_members搜索python的c api文档以获取更多信息。 -
根据我的经验,SWIG 应该能够以您“期望”的方式处理任意嵌套的结构。让它工作有什么具体问题吗?
-
@brunobeltran0 暂时没有,因为我才刚开始。但是除了onelink,我没有找到很多类似的作品,所以我很担心我做的方向。还是谢谢你:)
标签: python c structure swig mixed-programming