C++ Programm mit Python Ansprechen

OP #5805716
Lesenswert?

Ich würde gerne ein Programm in C++ schreiben und mit Python ansprechen. 
Das Programm soll unter anderem ein Laborgerät über Ethernet steuern. 
Allerdings weiß ich nicht so recht nach was ich suchen soll. 
Idealerweise würde ich das Programm als Modul in Python importieren und 
dann nutzen. Jemand einen Tipp oder Stichwort/Idee?
#5805862
Lesenswert?

Also für kleinere Sachen würd ich cdecl verwenden, da kann man zwar die 
vorhandenen Header nicht automatisch verwursten sondern muss die 
Funktionssignaturen selber hinschreiben aber es ist ziemlich 
straightforward und einfach durchschaubar und ad-hoc mal schnell zu 
benutzen da der Standardinstallation schon vorhanden. Cdecl ist auch 
nützlich wenn man DLLs hat von denen keine C Header existieren (zum 
Beispiel weil sie in Passcal geschrieben wurden), wenn man die Signatur 
einer Funktion in der DLL kennt kann man sie ohne viel Federlesen 
einfach direkt von Python aus aufrufen, ohne erst irgendwelche Sachen 
kompilieren zu müssen die dann irgendwelche andere Sachen generieren die 
man dann alle dazu mitliefern muß.

Aber wenn Du dutzende Header mit vielen verschachtelten typedefs und 
hunderten von Funktionen hast für Deine DLL dann wirds natürlich nicht 
mehr so spaßig das alles von Hand hinzuschreiben, dann würd ich auch was 
automatisches wie swig nehmen.

Aber mal eben schnell nur 3 simple Funktionen aus ner DLL aufrufen, 
dafür ist cdecl wie geschaffen.
Gast #5806327
Lesenswert?

M. M. schrieb:
> Ich würde gerne ein Programm in C++ schreiben und mit Python
> ansprechen.
> Das Programm soll unter anderem ein Laborgerät über Ethernet steuern.

Das Ansprechen, kann unterschiedliches bedeuten. Das könnte man als eine 
Art DLL lesen oder aber auch als Python ruft das Programm mit einer 
langen Latte an Parameter. Alternativ Könnte Python dein Programm auch 
über eine Interprozesskommunikation (zum Beispiel Ethernet) ansprechen.

Vermutlich meinst du das mit der DLL (oder Sharedlib unter linux), aber 
denk auch mal über die anderen Möglichkeiten nach. ggf Kann Python über 
Ethernet auch direkt die Laborgeräte steuern. Netzwerk kann Python und 
so schwer ist die Sprache auch nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren