Ich habe einen C ++ - Header, der #define-Anweisungen, Enums und Strukturen enthält. Ich habe versucht, das h2py.py-Skript, das mit Python enthalten ist, vergeblich zu verwenden (außer mir die konvertierten #defines zu geben). Jede Hilfe würde sehr geschätzt werden.
Ich kenne h2py nicht, aber vielleicht möchten Sie sich 'ctypes' und 'ctypeslib' anschauen. Ctypes ist in Python 2.5+ enthalten und zielt darauf ab, Binärkompatibilität mit C-Strukturen zu erstellen.
Wenn Sie ctypeslib hinzufügen, erhalten Sie ein Unterwerkzeug namens codegen, das ein 'h2xml.py' Skript und ein 'xml2py.py' hat, dessen Kombination automatisch den von Ihnen gesuchten Python-Code erzeugt für aus C ++ - Header.
ctypeslib: Ссылка
h2xml.py benötigt ein anderes Tool namens gccxml: Ссылка
Es ist am besten, die neueste Version von gccxml (via CVS) auszuprobieren und selbst zu erstellen (eigentlich einfacher als gesagt). Die vorinstallierte Version ist alt.
Soweit ich das beurteilen kann, ist h2py.py nicht dazu gedacht, etwas anderes als #define-Makros zu konvertieren. Ich bin auf cppheaderparser gestoßen, was einen Blick wert ist.
Tags und Links python c++ header enums data-structures