Python meets C/C++, Teil 2: SWIG und pybind11

Seite 4: Favoriten des Autors

Inhaltsverzeichnis

Auf die Frage, welche Lösung für das Erweitern von Python um C/C++ zu empfehlen ist, gibt es keine einfache Antwort. Für das Erweitern um eine bestehende dynamische Bibliothek ist das Python-Modul ctypes die erste Wahl. Sollen C beziehungsweise C++ nicht nur mit Python, sondern zudem mit weiteren Skriptsprachen kommunizieren, spielt SWIG seine volle Stärke aus.

Den Autor hat pybind11 am stärksten beeindruckt. Mit diesem Framework ist es möglich, C++-Funktionalität mit Python anzusprechen. Zum einen ist es bei pybind11 nicht notwendig, sich mit dem Name Mangling zu beschäftigen. Zum anderen lässt sich aus C++ das Überladen von Operatoren in Python verwenden, aber es lassen sich auch Funktionen in Python überladen und die C++-Funktionalität können Entwicklerinnen und Entwickler kompakt in Lambda-Ausdrücken definieren.

Rainer Grimm
ist seit vielen Jahren als Softwarearchitekt, Team- und Schulungsleiter tätig. In seiner Freizeit schreibt er Artikel zu den Programmiersprachen C++, Python und Haskell, spricht aber auch gerne auf Fachkonferenzen. Auf seinem Blog Modernes C++ (heise Developer) beschäftigt er sich intensiv mit seiner Leidenschaft C++.

(sih)