Tengo un encabezado C++ que contiene instrucciones #define, enumeraciones y estructuras. He intentado utilizar el script h2py.py que se incluye con Python inútilmente (excepto que me dieron las #defines convertidas). Cualquier ayuda sería muy apreciada.Convertir archivos de encabezado C++ a Python
Respuesta
No sé h2py, pero es posible que desee ver 'ctypes' y 'ctypeslib'. ctypes se incluye con python 2.5+, y está dirigido a la creación de compatibilidad binaria con c-structs.
Si agrega ctypeslib, obtiene una subherramienta llamada codegen, que tiene una secuencia de comandos 'h2xml.py', y una 'xml2py.py', cuya combinación generará automáticamente el código python que usted es buscando desde encabezados C++.
ctypeslib: http://pypi.python.org/pypi/ctypeslib/0.5.4a
h2xml.py requerirá otra herramienta llamada gccxml: http://www.gccxml.org/HTML/Index.html
lo mejor es comprobar hacia fuera (a través de CVS) la última versión del gccxml y construir por sí mismo (en realidad más fácil hacer que dicha) La versión preempaquetada es antigua.
Bajé este agujero de conejo para intentar obtener gccxml usando CVS. Fue casi imposible en Windows. Aquí hay una mejor manera de hacerlo. http://stackoverflow.com/questions/3840268/where-to-get-compiled-version-of-gccxml-on-windows. O aquí hay un enlace directo al proyecto: http://sourceforge.net/projects/ctypes/files/gccxml/ – phyatt
Este es un buen punto de partida para generar código python a partir de un archivo .h: http: // code. google.com/p/ctypesgen/ – phyatt
Según lo que puedo decir, h2py.py no tiene la intención de convertir nada más que #define macros. Me encontré con cppheaderparser, que podría valer la pena mirar.
¿De dónde sacaste la idea de que h2py tenía algo que ver con estructuras o enumeraciones?
Desde la fuente
# Read #define's and translate to Python code.
# Handle #include statements.
# Handle #define macros with one argument.
'enumeración' Las palabras y 'struct' nunca aparecen en el módulo.
Acaba de encontrar pycparser. Puede ser útil.
- 1. cómo vincular archivos de encabezado en C++
- 2. C funciones sin archivos de encabezado
- 3. Cómo puedo crear archivos de encabezado C
- 4. Comentando código C, encabezado y archivos fuente
- 5. ¿Dónde busca gcc los archivos de encabezado C y C++?
- 6. Convertir Python a R
- 7. Cómo convertir archivos wmf a archivos svg
- 8. Convertir archivos NIB a archivos XIB
- 9. Una comprensión básica de los archivos de encabezado de C++
- 10. ¿Convertir archivos individuales a arco?
- 11. Llamar código python (archivos .py) desde C#
- 12. Costo de incluir archivos de encabezado en Objective-C
- 13. C Archivos de encabezado - Forma correcta de incluir
- 14. Archivos de encabezado no encontrados
- 15. Confusión con encabezado y archivos de implementación en Objective-C
- 16. Ventajas/desventajas de los archivos de encabezado
- 17. ¿Convertir archivos TEX a PDF o DOCX?
- 18. ¿Cómo funcionan los archivos de encabezado y fuente en C?
- 19. ¿Dónde busca Visual Studio los archivos de encabezado C++?
- 20. ¿Compila un C++ .lib con solo archivos de encabezado?
- 21. Convertidor de C# a Python
- 22. Cómo convertir archivos de Dos a Unix
- 23. Cómo convertir código C++ a C
- 24. Convertir cadena/caracteres a entero en python
- 25. La mejor manera de convertir archivos pdf a archivos tiff
- 26. Encabezados precompilados en archivos de encabezado
- 27. C/C++ Documentación del archivo de encabezado
- 28. Python comentario encabezado fuente
- 29. Convertir la fecha de Python a Javascript
- 30. Python: Convertir de `datetime.datetime` a` time.time`
¿Qué quieres lograr? –