C++ Programm mit Python Ansprechen

OP #5805716
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?
#5805834
M. M. schrieb:
> Ich würde gerne ein Programm in C++ schreiben und mit Python ansprechen.

Dein Problem ist wohl eher, dass du die Bibliotheken noch nicht gefunden 
hast, die das machen, was du möchtest.
Sauberer Python code ist meist schneller geschrieben als sauberer C++ 
code und das lernen lohnt sich.
#5805862
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
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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.