2009-03-14 8 views
7

Ich habe ein Python-Modul mit nichts als regulären globalen Funktionen. Ich muss es von einer anderen Business-Domain-Scripting-Umgebung aufrufen, die nur C-DLLs aufrufen kann. Gibt es überhaupt eine Möglichkeit, meine Python-Module so zu erstellen, dass sie bei anderem Code wie eine Standard-C-Funktion aufgerufen werden können, die aus einer DLL exportiert wird? Dies ist für eine Windows-Umgebung. Ich kenne IronPython, aber soweit ich weiß, kann es nur .NET-Assemblies erstellen, die nicht als C DLL-Funktionen aufgerufen werden können.Gibt es eine Möglichkeit, eine C-ähnliche DLL aus einem Python-Modul zu erstellen?

Antwort

6

Werfen Sie einen Blick auf this Codeproject Artikel. Eine Möglichkeit wäre, Ihre Python-Funktionen in eine C-DLL zu packen und diese dem Angerufenen zur Verfügung zu stellen.

COM ist ein Binärprotokoll, um dieses Problem zu lösen. Aber Sie müssen diese Python-DLL in einen COM-Wrapper umbrechen. Und fügen Sie auch Code auf der anrufenden Seite hinzu.

2

Py2exe COM DLLs aus Python-Code erzeugen kann, durch Kompilieren und Python-Code + Interpreter einzubetten. Es unterstützt keine regulären DLLs, AFAIK. Siehe dazu die Dirkently-Antwort zum Einbetten von Python selbst.

Verwandte Themen