Bindings
-
Hi, ich les öfter mal was von Python, Php, oder irgendeiner anderen sprache welche "Bindings" für z.B. cpp bereit stellt. Ich kann mir nur überhaupt nicht vorstellen wie die Verbindung zwischen zwei unterschiedlichen Programmiersprachen laufen soll. Wie könnte ich z.B. ein Cpp programm schreiben für welches leute in Python sowie Java eigene module schreiben könnten?
Gruss und schöne Weihnachten
-
binder² schrieb:
Wie könnte ich z.B. ein Cpp programm schreiben für welches leute in Python sowie Java eigene module schreiben könnten?
Python zB ist in C geschrieben, deshalb ist das ganz einfach. Du erweiterst den Interpreter einfach um ein paar Funktionen, die unter der Haube deine C++-Dinge machen.
-
Vom Prinzip her ist es ja nicht schwer, man muss nur die Aufrufkonventionen der anderen Sprache beachten. Bei Interpretersprachen, wie Python, muss der Interpreter das eben machen.
Um Python und C++ zu kombinieren, nimmt man am besten Boost.Python. Alternativ gibt es noch die C-API von Python (ist noch so schön) oder zB SWIG als Wrapper-Generator (die generierten Wrapper sollen aber wohl wenig hübsch sein). Für andere Sprachen gibt es ähnliches.
-
Also muss ich im endeffekt einen kompletten interpreter für die jeweilige sprache im programm haben?