我有一个包含#define语句,枚举和结构的C++头文件。我曾尝试使用随Python提供的h2py.py脚本无效(除了给我转换的#defines外)。任何帮助将不胜感激。将C++头文件转换为Python
回答
我不知道h2py,但你可能想看'ctypes'和'ctypeslib'。 ctypes包含在python 2.5+中,目标是创建与c-structs的二进制兼容性。
如果您添加ctypeslib,您会得到一个名为codegen的子工具,它具有'h2xml.py'脚本和'xml2py.py',它们的组合将自动生成您正在使用的Python代码从C++头文件寻找。
ctypeslib:http://pypi.python.org/pypi/ctypeslib/0.5.4a
h2xml.py将需要另外一个工具叫做gccxml:http://www.gccxml.org/HTML/Index.html
,最好检查(通过CVS)的最新版本gccxml,并建立它自己(比实际做说起来容易)。预包装版本是旧的。
我走下这个兔子洞,尝试使用CVS获得gccxml。在Windows上几乎不可能。这是一个更好的方法。 http://stackoverflow.com/questions/3840268/where-to-get-compiled-version-of-gccxml-on-windows。或者直接链接到这个项目:http://sourceforge.net/projects/ctypes/files/gccxml/ – phyatt 2012-09-15 00:20:39
从我所知道的,h2py.py不是用来转换除#define宏之外的任何东西。我确实跑过了cppheaderparser,这可能值得一看。
你从哪里得到h2py与结构或枚举有什么关系的想法?
从源
# Read #define's and translate to Python code.
# Handle #include statements.
# Handle #define macros with one argument.
词语“枚举”和“结构”永远不会出现在模块中。
刚刚找到pycparser。可能有用。
- 1. 将lib +头文件转换为DLL
- 2. 将python转换为C++
- 3. 将C#2008文件转换为C#2010
- 4. Python将datetime.time转换为箭头
- 5. 将C头文件转换为D的问题
- 6. 将3d模型转换为增强现实的C++头文件
- 7. 将C头中的__declspec转换为Delphi
- 8. 将csv文件转换为python字典
- 9. 将python文件名转换为unicode
- 10. Python将json文件转换为html
- 11. Python - 将csv文件转换为JSON
- 12. 将输入文件转换为ascii python
- 13. Python:将DAT文件转换为XLS
- 14. 将excel文件转换为python频率
- 15. 如何将C头转换为Python ctypes代码?
- 16. 将C#表转换为PDF文件
- 17. 什么将aspx文件转换为c#
- 18. 将xml文件转换为pdf c#
- 19. 使用ISAPI过滤器将头文件转换为文件
- 20. C头文件Python
- 21. 将Python转换为C,然后用Cython编译成exe文件
- 22. 使用Python将grib文件转换为文本文件
- 23. wcf - 将上下文转换为头文件
- 24. 将代码从Python转换为C++
- 25. 将C函数转换为Python函数
- 26. 将C#解密转换为Python PyDes
- 27. 将GTK python脚本转换为C
- 28. 将python转换为c的工具#
- 29. 将Python列表理解转换为C++?
- 30. 将C++枚举转换为python int
你想实现什么? – 2008-12-17 11:35:46