2

我正在编写一个将 python 嵌入到 C++ 代码中的小程序(下面的那个)。

#include <Python.h>

int main()     
{

    int x;
    Py_Initialize();

    const char* pythonScript = "print 'Start'"
    PyRun_SimpleString(pythonScript);

    /*
    assign a python variable 'n' to 'x' i.e n=x
    */

    Py_Finalize();
    return 0; 

}

我的要求是我将python变量'n'分配给C++变量'x'的值。有没有办法做到这一点?

提前致谢。

4

1 回答 1

1

以下片段应该可以工作(未经测试):

PyObject *main = PyImport_AddModule("__main__"); // borrowed
if (main == NULL)
    error();
PyObject *globals = PyModule_GetDict(main); // borrowed
PyObject *value = PyInt_FromLong(x);
if (value == NULL)
   error();
if (PyDict_SetItemString(globals, "n", value) < 0)
   error();
Py_DECREF(value);
于 2013-01-31T17:40:40.237 回答