Что-то вроде того снимает поставленный вопрос
| Код |
Py_Initialize(); PyObject *pDictionary = PyDict_New(); PyDict_SetItemString( pDictionary, "__builtins__", PyEval_GetBuiltins() );
// Создание переменной result = 0; PyDict_SetItemString( pDictionary, "result", PyInt_FromLong(0) );
// Выполнение скрипта formula std::string formula = "a = 1\nb = 2\nresult = a + b"; PyRun_String( formula.c_str(), Py_file_input, pDictionary, pDictionary );
// Получение значения переменной result PyObject *pResult = PyDict_GetItemString( pDictionary, "result" ); int result; PyArg_Parse(pResult, "i", &result);
Py_DECREF( pResult ); Py_DECREF( pDictionary ); Py_Finalize();
|
|