Seite 1 von 1

DLL erstellen

Verfasst: Donnerstag 1. März 2007, 10:00
von mulitreiber
Hallo,

ich möchte eine DLL erstellen die später mal von einem in C# geschriebenem Programm eingebunden werden soll.
Bisher probiert habe ich py2exe und pyInstaller, mit py2exe habe ich es gar nicht geschafft eine dll zu erstellen, pyInstaller erzeugt COM-DLL´s die soweit ich weiß nicht ohne größeren Aufwand in C# einzubinden sind.
Kennt jemand ein Tool das eine "normale" Windows DLL erstellen kann?
Anderer Ansatz, könnte man das vielleicht mit IronPython lösen? Ich habe leider kein Visual Studio zur Verfügung, kann MonoDev DLL´s erstellen?

Ach ja, im Forum habe ich nur zwei uralt Diskussionen gefunden, die leider im Sande verlaufen sind...

Ciao, Chris

Verfasst: Donnerstag 1. März 2007, 10:48
von HWK
Wenn Du deine DLL mit Python erstellen willst, dürfte das schwierig sein, da Python sich nicht in Maschinencode, sondern nur in Bytecode kompilieren lässt. Die einzige Möglichkeit wäre meines Erachtens, in einem C/C++-Programm auf den Python-Interpreter zuzugreifen. Dies dürfte aber nicht ganz so einfach sein. Vgl. dazu die Python/C-Api unter Embedding Python in der Python-Dokumentation.
MfG
HWK

Verfasst: Donnerstag 1. März 2007, 11:13
von mulitreiber
Hm... aber wenn ich den Python Code im C/C++ Code einbette, wird doch mit Py_Initialize() der Interpreter aufgerufen. Also wird wohl beim erstellen der Dll nicht in die selbige miteingepackt, oder? Ziel wäre halt das die Dll am Ende alles selbst mitbringt was sie braucht...
Daher mein Ansatz mit dem PyInstaller, der ja mit der Option --onefile den Interpreter mit in die Dll packen kann. Ich dachte halt eine Dll würde sich von einer Exe nicht besonders stark unterscheinden.

Ciao, Chris

Re: DLL erstellen

Verfasst: Donnerstag 1. März 2007, 14:27
von Leonidas
Hallo Multitreiber,
mulitreiber hat geschrieben:Kennt jemand ein Tool das eine "normale" Windows DLL erstellen kann?
Anderer Ansatz, könnte man das vielleicht mit IronPython lösen? Ich habe leider kein Visual Studio zur Verfügung, kann MonoDev DLL´s erstellen?
DLLs erstellen können weder Visual Studio noch MonoDevelop - das sind nur IDEs. Wenn dann tut das das .NET-Framework und Mono.

Und ja, du kannst in C# PYthon-Code über IronPython nutzen, steht zumindest hier.

Verfasst: Donnerstag 1. März 2007, 16:06
von mulitreiber
Naja, so ganz die ideale Lösung ist das nicht, aber anders gehts wohl nicht.
Vielen Dank für eure Mühe!

Ciao, Chris

Verfasst: Donnerstag 1. März 2007, 20:17
von veers
Hm wie wärs mit IronPython? Sowas wie Jython nur auf .NET.