如何找到项目中定义宏的位置?

How to find where a macro is defined in a project?

我有一个项目有几十个源模块和几十个 header 文件,有些是嵌套的。使用 ARM 的 Eclipse for DS-5,我从 Indexer 而不是从编译器得到错误指示。

IDE 抱怨静态库的一个源模块中的 FALSE 宏未定义。但是,确实编译正常。

在同一代码库(另一个静态库)上的第二个项目中没有这样的问题。

在整个工作区中搜索此宏的多个 header 中有多个定义。如何跟踪代码中生效的具体定义?

注意 - 我发现 关于 MSVS 和一个很好的技巧作为答案,但是有没有直接的方法在 Eclipse 中实现这个?

好的,我找到答案了:

  1. Select宏
  2. 右键单击 select "Explore Macro Expansion"(或 Ctrl+=
  3. 在打开的对话框 window 中,单击底部的按钮 "Open Declaration"

声明的地方现在在编辑器中打开。