C++头文件解析
回答
解析C++很困难。您可能想要使用现有的解析器。我知道的4那可能是有用的:
- 爱迪生设计集团前端
- 锵的C++解析器
- DMS软件再造工具包和C++ 14的前端
- GCC(通过熔融)
其中大多数不会“解析”宏;他们想要扩展他们使用预处理器。所以宏和PP条件从解析树中消失。 DMS可以进行“有限”的预处理,并收集/保留在结构良好的地方以及它们常见的各种地方发现的预处理器指令和宏。
解析头文件是真的艰难;他们往往会加载来自许多以前版本软件的条件和垃圾,以及来自特定供应商的成语。 (MS的标题中有一些惊人的怪异东西)。除非你正在讨论解析你的头文件,否则确保你检查你选择的工具可以处理你实际处理的C++方言。
感谢您的信息。但我的问题是,我需要在运行时读取头文件的内容。在运行时,我需要解析头文件中的结构并存储在内存中。你能提出建议吗? – IPS 2015-03-03 07:21:20
在运行时?然后,您需要找出一种方法,在应用程序启动后将这些小狗加载到您的应用程序空间中(我敢打赌这真的很尴尬),将您的应用程序*移植到这些(更可能)的*中,或者调用其中的一个作为一个需求子进程。你试图完成什么,需要在运行时读取这些数据? – 2015-03-03 11:25:05
- 1. C#中的头文件解析器?
- 2. 如何解析C头文件?
- 3. C,解析一些http头文件
- 4. FOSRestBundle解析头文件
- 5. 解析C文件
- 6. 解析C头文件以生成文件
- 7. TIFF文件解析C#
- 8. 解析CSV文件C++
- 9. C#中的文件解析#
- 10. 解析C源文件
- 11. Objective-C解析XML文件
- 12. C#解析XML文件
- 13. 用C解析XML文件#
- 14. 解析JSON文件C#
- 15. 解析C++中的文件
- 16. 用Scapy解析MySQL头文件
- 17. 如何解析此头文件?
- 18. PHP中未解析的头文件
- 19. 用PHP解析fsockopen的HTTP头文件?
- 20. 解析C文件中的XML文件而无需解析库
- 21. 使用GNU工具链从文件解析C++函数头
- 22. 解析C头文件,以确定所有的宏定义
- 23. 使用Java解析/读取C头文件
- 24. 在C++头文件中解析循环引用
- 25. 如何解析C++头文件的集合?
- 26. 解析c文件中的.conf文件
- 27. 最简洁的方式来解析头文件C的文本文件#
- 28. 因为头文件而导致的C++未解析的外部文件
- 29. 从长文本解析文件在C
- 30. 用C解析复杂文本文件#
http://clang.llvm.org/doxygen/group__CINDEX.html – deviantfan 2015-03-03 06:46:20
@deviantfan您可以请解释如何使用该API。因为我需要解析包含超过100个结构的完整头文件并找到我需要的结构。然后我需要读取结构变量及其偏移量以将其存储在内存中。 – IPS 2015-03-03 06:51:47
@HariPrabhakaran:不要指望处理C++复杂性的设备的API“简单”。您将不得不支付学习如何使用C++解析引擎的费用,并且还需要花费您在代码中学习C++黑暗角落的代价,以及API如何处理这种类型的东西。 – 2015-03-03 06:56:18