python如何传递给c++一个结构体指针?前提是swig封装的C++函数,请写出代 100

python如何传递给c++一个结构体指针?前提是swig封装的C++函数,请写出代码举例说明目前已到问题是这样的:我用swig封装了C++函数供python来调用C++... python如何传递给c++一个结构体指针?前提是swig封装的C++函数,请写出代码举例说明
目前已到问题是这样的:我用swig封装了C++函数供python来调用 C++函数需要传入 结构体指针 引用等参数 可是我不知道python怎么传递这种类型的参数 麻烦大神帮忙解答
展开
 我来答
darkelemental
2017-03-21 · TA获得超过242个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:101万
展开全部
在封装的代码间传递指针你要确保他们运行在相同的地址空间里,还要保证指针指向的内存的生存期是安全的,否则这种思路就是错误的。实现方法举例如下:
1、定义了C 结构体和函数如下
typedef struct NameAge
{
char name[20];
int age;
}NameAge , *NameAgePointer;

void test(NameAgePointer p) // 接收结构体指针
{
// do something with p...
}

2、python定义结构体如下
#python中结构体定义
class PyStruct():
def __init__(self, name, age):
self.name = name
self.age = age
fred = PyStruct("fred", 5)
3、假设把第1步里的test封装成example模块,python导入example(既然你都会swig了,这个过程就不啰嗦了)
>>>import example
>>>example.test(pointer(fred))
以上是基本思路,因为搭建开发环境和过程比较繁杂,没有验证过,但是应该没有大问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式