C++ C++;头文件解析

C++ C++;头文件解析,c++,parsing,header,structure,C++,Parsing,Header,Structure,我需要解析一个头文件。 我的目标是从头文件中搜索特定的结构,并提取结构变量的值和偏移量 任何一个可以通过省略注释和如何解析头文件中的宏来建议解析头文件的最佳方式?< p>解析C++是很困难的。您可能需要使用现有的解析器。我知道有4种可能很有用: 爱迪生设计集团前端 Clang的C++分析器< /LI> DMS软件再工程工具包及其C++14前端 GCC(通过Melt) 其中大多数不会“解析”宏;他们希望使用预处理器来扩展它们。因此宏和PP条件从解析树中消失。 DMS可以进行“有限”的预处理,

我需要解析一个头文件。 我的目标是从头文件中搜索特定的结构,并提取结构变量的值和偏移量


任何一个可以通过省略注释和如何解析头文件中的宏来建议解析头文件的最佳方式?

< p>解析C++是很困难的。您可能需要使用现有的解析器。我知道有4种可能很有用:

  • 爱迪生设计集团前端
  • Clang的C++分析器< /LI>
  • DMS软件再工程工具包及其C++14前端
  • GCC(通过Melt)
其中大多数不会“解析”宏;他们希望使用预处理器来扩展它们。因此宏和PP条件从解析树中消失。 DMS可以进行“有限”的预处理,并收集/保存在结构良好的地方以及它们经常出现的各种地方的预处理器指令和宏


解析头文件非常困难;他们倾向于加载来自许多早期版本软件的条件和垃圾,以及来自特定供应商的习惯用法。(MS的标题中有一些令人震惊的怪异内容)。除非你正在讨论解析你的头文件,确保你检查你选择的工具可以处理你实际处理的C++ C++语言。< /P> < P>解析C++是很困难的。您可能需要使用现有的解析器。我知道有4种可能很有用:

  • 爱迪生设计集团前端
  • Clang的C++分析器< /LI>
  • DMS软件再工程工具包及其C++14前端
  • GCC(通过Melt)
其中大多数不会“解析”宏;他们希望使用预处理器来扩展它们。因此宏和PP条件从解析树中消失。 DMS可以进行“有限”的预处理,并收集/保存在结构良好的地方以及它们经常出现的各种地方的预处理器指令和宏


解析头文件非常困难;他们倾向于加载来自许多早期版本软件的条件和垃圾,以及来自特定供应商的习惯用法。(MS的标题中有一些令人震惊的怪异内容)。除非你正在讨论解析你的头文件,确保你选中的工具可以处理你实际处理的C++语言。

@ DeavangFANE,你能解释一下如何使用那个API吗?因为我需要解析由100多个结构组成的完整头文件,并找到我需要的结构。然后我需要读取结构变量及其偏移量来将其存储在内存中。@ HARRPRABABAKLAN:不要期望API处理一个处理C++复杂度的设备“简单”。你将不得不支付学习如何使用C++解析引擎的成本,同时也要学习在代码中学习C++中的暗角的成本,以及API如何处理这种填充。谢谢你的信息。但我的问题是,我需要在运行时读取头文件的内容。在运行时,我需要解析头文件中的结构并将其存储在内存中。你能建议最好的方法吗?@HariPrabhakaran我们知道你想在运行时做这件事。我们在这里写的一切都是为了运行时解决方案。如果你不想阅读如何使用建议的软件,而希望有人为你做这件事,你应该雇佣一个人。那么这是一个错误的地方。@deviantfan你能解释一下如何使用这个API吗。因为我需要解析由100多个结构组成的完整头文件,并找到我需要的结构。然后我需要读取结构变量及其偏移量来将其存储在内存中。@ HARRPRABABAKLAN:不要期望API处理一个处理C++复杂度的设备“简单”。你将不得不支付学习如何使用C++解析引擎的成本,同时也要学习在代码中学习C++中的暗角的成本,以及API如何处理这种填充。谢谢你的信息。但我的问题是,我需要在运行时读取头文件的内容。在运行时,我需要解析头文件中的结构并将其存储在内存中。你能建议最好的方法吗?@HariPrabhakaran我们知道你想在运行时做这件事。我们在这里写的一切都是为了运行时解决方案。如果你不想阅读如何使用建议的软件,而希望有人为你做这件事,你应该雇佣一个人。这是个错误的地方。谢谢你的信息。但我的问题是,我需要在运行时读取头文件的内容。在运行时,我需要解析头文件中的结构并将其存储在内存中。在运行时,您能建议最好的方法吗?然后,您需要找到一种方法,在应用程序启动后将其中一个幼犬加载到您的应用程序空间(我敢打赌这真的很尴尬),将应用程序移植到其中一个(更可能),或者根据需要调用其中一个作为子进程。您想要完成的是什么,需要在运行时读取这些数据?谢谢您提供的信息。但我的问题是,我需要在运行时读取头文件的内容。在运行时,我需要解析头文件中的结构并将其存储在内存中。在运行时,您能建议最好的方法吗?然后,您需要找到一种方法,在应用程序启动后将其中一个幼犬加载到您的应用程序空间(我敢打赌这真的很尴尬),将应用程序移植到其中一个(更可能),或者根据需要调用其中一个作为子进程。您试图完成的需要在运行时读取此数据的任务是什么?