我正在尝试在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数据)。
谢谢!