在C ++中用Python脚本调用全局函数

时间:2014-10-10 11:48:26

标签: python c++

我有一个Pyhton脚本“PythonScript.py”和一个声明为:

的全局函数
def runSimulation(filename = ''):

runSimulation将输出作为类Simulation中的对象。

要访问runSimulation,我在C ++中使用以下代码:

PyObject *pName = PyString_FromString("PythonScript.py");
PyObject *pModule = PyImport_Import(pName);
PyObject *pDict = PyModule_GetDict(pModule);
PyObject *pFunction = PyDict_GetItemString(pDict, "runSimulation");
PyObject *pResult = PyObject_CallFunctionObjArgs(pFunction, NULL);
Simulation *pSimulation = boost::python::extract<Simulation *>(pResult);

但是,我在运行时遇到“分段违规。我做错了什么?”

0 个答案:

没有答案