Пример встраивания Python с получением результатов интерпретации в C-программу
Ниже приведен простой пример встраивания Python в программу на языке C с возможностью получения результата интерпретации.
/*** c2py2.c ***/
#include <stdio.h>
#include <python/Python.h>
int main()
{
int result;
PyObject *pstr, *pmod, *pdict;
//инициализация интерпретатора
Py_Initialize();
pmod = PyImport_ImportModule("sys");
pdict = PyModule_GetDict(pmod);
//вычисление выражения из строки
pstr = PyRun_String("3+4*5",Py_eval_input,pdict,pdict);
//извлечение данных из объекта Python и вывод результата
PyArg_Parse(pstr,"i",&result);
printf("%i\n",result);
//удаление созданного Python объекта, завершение интерпретатора и выход
Py_DECREF(pstr);
Py_Finalize();
return 0;
}
Компиляция программы может быть выполнена аналогично тому, как это было выполнено в предыдущем примере:
gcc c2py2.c -lpython -lm -lpthread -ldl -o c2py2
Аналогично могут быть обработаны данные и других простых типов. Обработка данных более сложных типов будет рассмотрена далее.
Источники:
cetus.com.ua
|
ПОМОЩЬ САЙТУ :
|
|
|