Встраивание Python и добавление функций C в интерпретатор - PullRequest
1 голос
/ 11 мая 2010

В настоящее время я пишу приложения, которые встраивают интерпретатор Python. Идея состоит в том, чтобы программа вызывала определенные пользователем сценарии для определенных событий в программе. Я справился с этой частью, но теперь я хочу, чтобы скрипты могли вызывать функции в моей программе.

Вот мой код:

#include "python.h"


static PyObject* myTest(PyObject* self,PyObject *args)
{
    return Py_BuildValue("s","123456789");
}

static PyMethodDef myMethods[] = {{"myTest",myTest},{NULL,NULL}};

int main()
{

    Py_Initialize();
    Py_InitModule("PROGRAM",myMethods);

    PyRun_SimpleString("print PROGRAM.myTest()");


    Py_Finalize();
}

Спасибо!

1 Ответ

2 голосов
/ 11 мая 2010

Вам нужно привязать эту функцию к какому-либо модулю, см. http://docs.python.org/extending/embedding.html#extending-embedded-python

Edit: В основном ваш код должен работать. Что не работает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...