我有一个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);
但是,我在运行时遇到“分段违规。我做错了什么?”