【问题标题】:View all macros defined in source code at a given position in Eclipse CDT在 Eclipse CDT 的给定位置查看源代码中定义的所有宏
【发布时间】:2015-09-26 06:12:57
【问题描述】:

是否可以在 Eclipse CDT 中查看在代码中当前位置定义的实时宏?

我认为有办法做到这一点,因为 eclipse 足够聪明,可以跟踪窗口 Window > Show view > Include Browser 中包含的我的头文件。截至今天,它还可以找出定义了哪些宏并将当前不会编译的 #ifdef 的区域变灰。

我觉得它可能缺少的唯一一件事是如果我在外部 makefile 中使用定义,但是可以通过项目设置对它们进行模拟并添加到实时索引中。

This 是,例如不是我要找的,因为它会列出文件/项目/工作区中的所有宏。我想知道,比如说,我当前在文件中的光标位置。

【问题讨论】:

    标签: c++ c macros eclipse-cdt


    【解决方案1】:

    在编辑器窗口中输入:

    #ifdef 
    

    然后按Ctrl-Space。您将看到所有活动宏的长列表

    更新

    1) 此方法正确地不显示宏在定义之前显示之后

    2) 然而,Eclipse CDT 在处理#undef 时似乎存在错误,并且此方法在未定义后错误地显示宏。我已经提交了错误报告http://bugs.eclipse.org/bugs/show_bug.cgi?id=472198

    【讨论】:

    • 它似乎没有按我的预期工作。它显示了每个已知的宏,而不是关于它是否“当前”定义。如果我写,例如#undef 在它上面的行中,它仍然显示在列表中。是不是更清楚了?
    • 这似乎是 Eclipse CDT 中的错误。所以我提交了一个错误报告bugs.eclipse.org/bugs/show_bug.cgi?id=472198
    • 问题已经解决。正如受让人所说,我认为它正在按预期工作。我根本不认为(目前)有一个好方法可以做到这一点。
    猜你喜欢
    • 1970-01-01
    • 2012-08-28
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    • 2012-11-13
    • 2011-07-21
    • 1970-01-01
    相关资源
    最近更新 更多