Das Python Programm soll pause_interpreter() aufrufen, der Interpreter soll sich selbst anhalten, dann soll die Mainloop wieder einmal dran kommen, dann soll der Interpreter wieder an der alten Stelle weiterlaufen.
So stelle ich mir das ungefähr vor:
Code: Alles auswählen
#include <Python.h>
//das Python Programm
const char *program =
"import api \n"
"api.pause_interpreter()\n"
"some_python_code()\n"
"api.pause_interpreter()\n";
static PyObject *pause_interpreter(PyObject *self, PyObject *args)
{
//irgendetwas um den Interpreter zu stoppen
//und den Zustand des Interpreters zu sichern
??Py_pause_ienterpreter()??
return NULL
}
static PyMethodDef MethodTable[] =
{
{"pause_interpreter", pause_interpreter, METH_VARARGS, "pause_interpreter"},
{NULL, NULL, 0, NULL}
};
int main()
{
Py_Initialize();
Py_InitModule("api", MethodTable);
PyRun_SimpleString(program);
while (1){//mainloop
//lass python laufen bis es sich selbst unterbricht
??PyRun_Continue_execution(program);
//mainlopp meiner c++ Anwendung
my_old_cpp_code();
}
Py_Finalize();
}
Habt Ihr eine Idee?
Danke Ruena