ctypes Modul kann nicht mehrere DLLs laden

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

marvel82 hat geschrieben:Den Quellcode hatte ich bereits weiter oben gepostet, also Erzeugung einer Instanz der Wrapper-Klasse in der ctypes verwendet wird. Denke das ist soweit das wichtigste.
Der Code ist weder lauffähig noch annähernd minimal. Wie soll man da das von dir beschriebene Verhalten tesen können?
Das Leben ist wie ein Tennisball.
marvel82
User
Beiträge: 11
Registriert: Montag 30. April 2012, 10:33

Die Dlls die ich übergebe sind von mir selber implementiert worden, also funktionen in c++ mit c schnittstelle für python.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

marvel82 hat geschrieben:Die Dlls die ich übergebe sind von mir selber implementiert worden, also funktionen in c++ mit c schnittstelle für python.
Dann sollte es ja noch weniger ein Problem sein, diese zu veröffentlichen. Kannst ja auch den Quellcode veröffentlichen und dazu ggf. Infos zum Kompilieren. Es soll hier ja einige geben, die sich so etwas dann schon selber backen können ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
jerch
User
Beiträge: 1669
Registriert: Mittwoch 4. März 2009, 14:19

Auch unter C/C++ kannst Du mit dlclose resp. FreeLibrary das "Entladen" einer shared lib aus dem Speicher nicht erzwingen.

Ich kann Dein Problem in keinster Weise nachvollziehen, von Assembler-Libs über Pascal- bis C/C++-Libs lädt ctypes alles und das auch mehrfach, solange es den Containerformaten und unterstützten Aufrufkonventionen entspricht. Hast Du mal versucht, Deine Libs in C einzubinden? Vllt. fehlt irgendwo eine Directive beim Erstellen der Libs?

Ein auf das Wesentliche eingekürztes Bsp. wäre hilfreich.
Antworten