Angenommen, ich habe #define foo in verschiedenen Header-Dateien. Es kann sich zu verschiedenen Dingen ausweiten. Ich würde gerne wissen (beim Kompilieren einer .cc-Datei), wenn eine #define auftritt, worauf sie sich ausdehnt, um welche Datei es sich handelt und woher sie eingeschlossen wurde.
Ist das möglich? Wenn nicht, gibt es irgendwelche Teillösungen, die helfen könnten?
Sie können gerne Kommentare mit Klärungswünschen hinzufügen.
Edit: Die aktuellen Antworten scheinen sich auf den Fall zu konzentrieren, dass es ein #define gibt und ich nur zur Definition springen oder wissen will, wie die Definition lautet. Das ist der einfache Fall, und ja, Ihre Lösungen funktionieren. Aber wenn ich dieselbe #define in verschiedenen Dateien habe und wissen will, welche zuerst eintritt, ist keine dieser Techniken nützlich. Okay, ich habe #warning tatsächlich sorgfältig verwendet, um die richtige Stelle zu finden. Aber das erfordert viel Arbeit.