Похоже на то Eclipse позволяет пользователю «увидеть расширение шаг за шагом», нажав F2.
Мне нравится эта потрясающая функция. Но могу ли я сделать то же самое, просто gcc
или же clang
(или любой инструмент)?
-E
опция делает все макросы полностью развернутыми. Поэтому я не нашел альтернативного способа постепенного расширения макросов.
Затмение большое. Надеюсь, мне не нужно устанавливать его везде и запускать постоянно.
Это функция, встроенная в Eclipse. Если бы такой инструмент был предоставлен как часть цепочки инструментов GCC или Clang, Eclipse не нуждался бы в его реализации. Такая функция может быть реализована как расширение GCC с использованием ПЛАВИТЬСЯ. LLVM (частью которого является Clang) предназначен для создания чего-то вроде этого тривиального.
Вы должны иметь в виду, что расширение макросов — сложная задача. В любой момент времени определение макроса может измениться или вообще не существовать. Теоретически вы могли бы использовать gdb
(отладчик, который поставляется с GCC), чтобы пройти через вашу программу, чтобы увидеть расширения макросов в другой точке программы. Если вы хотите, вы можете попробовать написать gdb
плагин в Python.
Других решений пока нет …