Cetus Group
Cetus Logo
Информационные системы и программное обеспечение



Файлы проекта

Поддержка

 
Расширение и встраивание Python
Редакция 03.07.2006
А.Г. © Часть 3 - "Пример встраивания 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

Аналогично могут быть обработаны данные и других простых типов. Обработка данных более сложных типов будет рассмотрена далее.


Copyright©2005, Cetus Group : All rights reserved.