如何逐步查看宏扩展

How to see macro expansions step-by-step?

本文关键字:扩展 何逐步      更新时间:2023-10-16

似乎Eclipse允许用户通过按F2来"逐步查看扩展"。

我喜欢这个很棒的功能。但是我可以只用gccclang(或任何工具)做同样的事情吗?

-E选项使所有宏完全展开。所以我还没有找到任何逐步扩展宏的替代方法。

日食很大。我希望我不需要到处安装它并一直启动它。

这是 Eclipse 内置的一个功能。如果这样的工具作为GCC或Clang工具链的一部分提供,Eclipse就不需要实现它。这样的功能可以使用MELT作为GCC的扩展来实现。LLVM(Clang是其中的一部分)旨在使这样的事情变得微不足道。

您必须记住的一件事是,宏观扩张是一项棘手的业务。在任何给定的时间点,宏定义都可能更改或根本不存在。从理论上讲,您可以使用gdb(GCC 附带的调试器)来单步执行程序,以查看程序中不同点的宏扩展。如果你愿意,你可以尝试用Python编写一个gdb插件。