RU | EN

Пример встраивания 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

Комментарии: