Как увидеть расширение макроса шаг за шагом?

Похоже на то Eclipse позволяет пользователю «увидеть расширение шаг за шагом», нажав F2.

Мне нравится эта потрясающая функция. Но могу ли я сделать то же самое, просто gcc или же clang (или любой инструмент)?

-E опция делает все макросы полностью развернутыми. Поэтому я не нашел альтернативного способа постепенного расширения макросов.

Затмение большое. Надеюсь, мне не нужно устанавливать его везде и запускать постоянно.

9

Решение

Это функция, встроенная в Eclipse. Если бы такой инструмент был предоставлен как часть цепочки инструментов GCC или Clang, Eclipse не нуждался бы в его реализации. Такая функция может быть реализована как расширение GCC с использованием ПЛАВИТЬСЯ. LLVM (частью которого является Clang) предназначен для создания чего-то вроде этого тривиального.

Вы должны иметь в виду, что расширение макросов — сложная задача. В любой момент времени определение макроса может измениться или вообще не существовать. Теоретически вы могли бы использовать gdb (отладчик, который поставляется с GCC), чтобы пройти через вашу программу, чтобы увидеть расширения макросов в другой точке программы. Если вы хотите, вы можете попробовать написать gdb плагин в Python.

1

Другие решения

Других решений пока нет …