How to see macro expansions step-by-step?

早过忘川 提交于 2019-12-04 03:04:05

问题


It seems Eclipse allows user to "see the expansion Step-by-Step" by pressing F2.

I like this awesome feature. But can I do the same thing with just gcc or clang (or any tool)?

-E option makes all macros fully expanded. So I haven't found any alternative way to expand macros step-by-step.

Eclipse is big. I hope I don't need to install it everywhere and have it launched all the time.


回答1:


It's a feature built into Eclipse. If such a tool was provided as part of the GCC or Clang toolchain, Eclipse would have no need to implement it. Such a feature could be implemented as an extension to GCC using MELT. LLVM (of which Clang is a part of) is designed to make something like this trivial.

One thing you have to keep in mind that macro expansion is a tricky business. At any given point in time, a macro definition may change or not exist at all. Theoretically you could use gdb (the debugger that comes with GCC) to step through your program to see macro expansions at different point in the program. If you want, you could try writing a gdb plugin in Python.



来源:https://stackoverflow.com/questions/35472290/how-to-see-macro-expansions-step-by-step

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!