使用Java CDT解析器解析C头文件中定义的宏值

问题描述 投票:0回答:1

例如,我有一个 header.h 文件,其中有一些定义宏的值:

#define MACRO1 value1
#define MACRO2 value2

我想使用 Java CDT 解析器解析这些宏并存储其名称和值并将其存储到映射中并打印它们:

MACRO1 = value1
MACRO2 = value2

我研究了一些来源,但所有这些都只是展示了如何仅解析宏名称。

我的期望是循环遍历地图并打印它们。

例如:

MACRO1 = value1
MACRO2 = value2
java c eclipse-cdt
1个回答
0
投票

你应该先构建你的

translationUnit
,然后使用
translationUnit.getMacroDefinitions()
来获取所有宏,之后你可以使用
macroDefinition.getName()
作为
key
,使用
macroDefinition.getRawSignature()
作为值。

© www.soinside.com 2019 - 2024. All rights reserved.