Hi @all,
ich habe mal eine Frage zum Einbetten von Pyton in C. Ich habe schon die Python/C-API Referenz gelesen, aber ich weiß dennoch nicht ganz genau wie ich mir das vorstellen muss.
Wenn ich Python einbetten möchte, schreibe ich ja ein "ganz normales" C-Programm. An irgendeiner Stelle kommt dann ein Py_Initialize()-Aufruf.
Von da an kann ich dann ja die API-Funktionen nutzen. Die Frage ist aber wie ich mir das vorzustellen habe. Wird da im Hintergrund ein Thread oder vielleicht sogar ein Prozess gestartet,
der quasi global zugänglich ist und wie ein Interpreter ohne Eingabemaske werkelt oder initialisiert der Aufruf einfach "ein paar" Variablen und ich nutze dann direkt C-Funktionen,
die auch der Interpreter benutzt den ich von der Kommandozeile starte und wo ich dann meine Befehle eintippe oder Module/Skripts zur Ausführung bringe?? Also die Frage ist WAS ist der Interpreter an dieser Stelle?
Vielleicht könnte mir das jemand erklären wie man sich das vorzustellen hat. Wie man vielleicht merkt fehlt mir diese ein wenig, aber ich hoffe dem kann jemand Abhilfe leisten
Schon mal vielen Dank im Voraus.
Jonny
Python-Interpreter / Embedding
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Pro Instanz deines Programmes wird eine Instanz von Python gestartet. Lädst du DLLs in dein Programm, so wird die Instanz deines Programms via Py_Initialize() verwendet.
Gruß
Gruß
Grüßle.
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08
Keine Ahnung wie das geregelt wird. Bei mir ist es jedenfalls so, dass wenn ich mein Programm 2x ausführe beide Programme VÖLLIG unabhängig voneinander laufen. Wenn ich also im Programm A das Modul "bla" bereitstelle und Programm B öffne, so ist dieses NICHT verfügbar. Sollte ich aber eine DLL in Programm A laden, wird die Instanz von Programm A verwendet. Ergo: In der DLL ist Modul "bla" verfügbar.
Gruß
Gruß
Grüßle.