ich habe ein Problem mit der Anbindung von python in C++ (Nein, bitte keine Links zu Boost oder Swig, das ist aus verschiedenen Gründen nicht möglich).
Und zwar habe ich folgendes Problem.
Code: Alles auswählen
Py_Initialize()
[...]// registriert 5000 Konstanten und einige Objekte sowie Methoden
PyRun_SimpleString("Input1 = 3 \n Output1 = Input1");
[...] //Code zum herausfischen von Output1 (in dem Beispiel ist Output1 = 3)
PyRun_SimpleString("Output1 = Input1");
[...]/* Code zum herausfischen von Output1. Eigentlich sollte jetzt ein
Fehler erscheinen das Input1 nicht definiert ist, aber er kennt es noch aus
dem ersten Durchlauf. Kann man dazwischen was setzen ohne das meine
Konstanten und registrierten Objekte flöten gehen? */
Py_Finalize();
Gibt es eine Möglichkeit ZWISCHEN den beiden PyRun_SimpleString einen Befehl zu setzen indem ich alle im Code erzeugten Objekte lösche? Ich hatte zuerst daran geacht zwischen den beiden Befehlen wieder
Py_Finalize();
Py_Initialize();
zu setzen, jedoch bin ich auf die 5000 Konstanten angewiesen und die registrierung aller Konstanten dauert einfach zu lange und aus Performancegründen sollten die beien PyRun_SimpleString Befehle getrennt werden, aber schnell hintereinander ablaufen.
Kann mir jemand helfen? Danke!
bearbeitet von mitsuhiko: Kommentare umgebrochen