我的程序中嵌入了python解释器。我想导出一个在我的程序中定义了值的模块,并且能够从python脚本中更改它们。例如在c:int x = 1;
中
在python中: c:printf("%d",x);
中的import embedded embedded.x = 2
输出:2
这是可能的吗?或者我必须导出函数才能更改c中的任何内容?
发布于 2010-07-16 13:30:03
不需要导出函数,但最简单的方法是结合使用PyModule_GetDict()
和PyDict_GetItemString()
来获取分配给x
属性的值。
发布于 2010-07-16 13:39:23
如果你不想在你的C代码中主动检查PyObject的值,我认为你需要导出函数来修改C中的表示。我不是专家,但我不认为有自动映射。
https://stackoverflow.com/questions/3265232
复制