如何逐步看宏扩展?

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

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

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

Eclipse很大。 我希望我不需要在任何地方安装它并一直启动它。

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

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