Предположим, у меня есть #define foo в различных заголовочных файлах. Это может распространиться на некоторые разные вещи. Я хотел бы знать (при компиляции файла .cc), когда встречается #define, к чему он будет расширяться, к какому файлу он относится и откуда он был включен.
Возможно ли это? Если нет, то могут ли помочь какие-то частичные решения?
Не стесняйтесь добавлять комментарии с просьбами о разъяснениях.
Редактировать: кажется, что текущие ответы сконцентрированы на том случае, когда есть один #define, и я просто хочу перейти к определению или узнать, что это за определение. Это простой случай, и да, ваши решения работают. Но когда у меня один и тот же #define в разных файлах, и я хочу знать, какой из них запускается первым, ни один из этих методов не будет полезен. Хорошо, я действительно осторожно использовал #warning, чтобы найти правильное место. Но это требует много работы.