如何从嵌入式python脚本修改C代码中分配的C int数组?

时间:2013-12-22 23:53:53

标签: c++ python arrays embed

我正在尝试在C ++应用程序中嵌入python。 我遇到的问题是我找不到从python修改C数组(int)的方法。

我使用标准的PyImport_Import和Co.函数加载我的python脚本。

是否可以像这样传递我的数组的地址:

//build one argument that we will modify INSIDE python
int iMyArg[5];
//pass the address as py arg
PyObject* argsTuple = Py_BuildValue("(l)", iMyArg);
PyObject_CallObject(pFunc, argsTuple);

然后以某种方式从python修改我的数组大小(固定长度,这里是5)? 我试着阅读ctypes提供的内容,但我无法取得任何成功。我试着看看是否有任何方法使用python写入内存,我不知道如何。

注意:从python返回这个数组不是一个选项,因为我相信能够直接从python修改这个iMyArg数组会快得多。这是一个简单的例子,但我正在尝试使用可能非常大的数组(对于OHCL数据)。

谢谢!

0 个答案:

没有答案