Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C程序中嵌入Python模块时,如何将C结构传递到Python中_Python_C_Structure_Swig_Mixed Programming - Fatal编程技术网

在C程序中嵌入Python模块时,如何将C结构传递到Python中

在C程序中嵌入Python模块时,如何将C结构传递到Python中,python,c,structure,swig,mixed-programming,Python,C,Structure,Swig,Mixed Programming,我有一个正在运行的C程序,现在我嵌入了一个实现特定函数的python脚本 问题是,传递到Python中的参数是C中定义的一个复杂的嵌套C结构。我希望该解决方案能够轻松实现两种方式的通信: 1.用C创建结构,并将其传递到Python中。让Python做一些修改。 2.用Python创建结构。然后把它传给C 我尝试使用SWIG为该结构生成一些包装器,以及使用SWIG for Python生成一些帮助函数,这样它就可以返回该结构的一些嵌套部分,这样我就可以通过Python轻松地访问该结构 这是一个好的

我有一个正在运行的C程序,现在我嵌入了一个实现特定函数的python脚本

问题是,传递到Python中的参数是C中定义的一个复杂的嵌套C结构。我希望该解决方案能够轻松实现两种方式的通信:

1.用C创建结构,并将其传递到Python中。让Python做一些修改。 2.用Python创建结构。然后把它传给C

我尝试使用SWIG为该结构生成一些包装器,以及使用SWIG for Python生成一些帮助函数,这样它就可以返回该结构的一些嵌套部分,这样我就可以通过Python轻松地访问该结构


这是一个好的解决方案,还是我可能会错过一些非常简单的解决方法?

根据我的经验,SWIG应该能够以您期望的方式处理任意嵌套结构brunobeltran0

这并不容易,你需要一个PyTypeObject,特别是tp_成员搜索python的c api文档以获取更多信息。根据我的经验,SWIG应该能够以你期望的方式处理任意嵌套的结构。你在使用它的过程中有什么特别的问题吗?@brunobeltran0暂时没有,因为我才刚开始。但是我没有找到很多类似的作品,除了那一部,所以我很担心我的创作方向。无论如何谢谢你:看到了吗