如何逐步看宏扩展?
似乎Eclipse允许用户通过按F2“逐步查看扩展”。
我喜欢这个很棒的function。 但是我可以用gcc
或clang
(或任何工具)做同样的事情吗?
-E
选项使所有宏完全展开。 所以我没有找到任何替代方法来逐步扩展宏。
Eclipse很大。 我希望我不需要在任何地方安装它并一直启动它。
它是Eclipse内置的一个function。 如果这样的工具是作为GCC或Clang工具链的一部分提供的,那么Eclipse就不需要实现它。 这样的特征可以作为使用MELT的 GCC的扩展来实现。 LLVM(其中Clang是其中的一部分)旨在使这样的事情变得微不足道。
有一点你必须记住,宏观扩张是一项棘手的业务。 在任何给定的时间点,宏定义可能会改变或根本不存在。 从理论上讲,您可以使用gdb
(GCC附带的调试器)逐步执行程序,以查看程序中不同点的宏扩展。 如果你愿意,你可以尝试用Python编写一个gdb
插件。