嵌入Python并将C函数添加到解释器

时间:2010-05-11 14:36:44

标签: c++ python c function-pointers embedding

我目前正在编写嵌入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 个答案:

答案 0 :(得分:2)

您需要将该功能绑定到某个模块,请参阅http://docs.python.org/extending/embedding.html#extending-embedded-python

编辑: 基本上你的代码应该工作。什么不起作用?