如何找到从哪个包含文件中获取了 C 预处理器定义?

How to find, from which include file a C preprocessor definition was taken?

如何找到 GCC 从中找到某个预处理器定义的包含文件?

在成功编译的C文件中,我有一个奇怪的宏,我不明白。首先,我想查看文件的来源。包含层次结构非常深;有没有简单的方法可以找到宏的来源?

有人问了 wider question,但答案告诉了如何找到定义本身,而不是它的源文件。

重新定义它 包括任何其他内容之前,编译器会在您的 header 层次结构中遇到它时抱怨重新定义:

#define MY_PROBLEMATIC_MACRO


#include <the_header.h>

/* code */