RU | EN

Простой пример встраивания Python в C-программу

Встраивание интерпретируемых языков программирования (в т.ч. Python) позволяет эффективно решать задачи, связанные с необходимостью интерпретировать (вычислять) выражения, введенные пользователем. При этом в распоряжении программиста на компилируемом языке оказывается инструменты:
-- Интерпретатор языка высокого уровня.
-- Синтаксис языка высокого уровня.
-- Модули (библиотеки) языка высокого уровня.
        Использование этого подхода позволяет повысить гибкость решений рассчетных задач, предоставляет возможности создания простых табличных процессоров и т.д.
        Ниже приведен простой пример встраивания Python в программу на языке C с возможностями интерпретации выражений, полученных из строки и файла.

/*** c2py.c ***/ #include <python/Python.h> int main(int argc, char *argv[]){ FILE *fp; //инициализация интерпретатора Py_Initialize(); //выполнение кода из строки PyRun_SimpleString("print 2*(3+4)\n"); //выполнение кода из файла 'test.py' fp = fopen("test.py", "r"); if(fp) { PyRun_SimpleFile(fp, "test.py"); fclose(fp); } //завершение интерпретатора и выход Py_Finalize(); return 0; }

        Компиляция программы может быть выполнена следующим образом (функции библиотеки 'dl' обеспечивают загрузку разделяемых библиотек):

gcc c2py.c -lpython -lm -lpthread -ldl

        Возможности получения результатов интерпретации Python-выражений в C-программу будут рассмотрены в следующих примерах.

Источники:
cetus.com.ua

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