Я не уверен, что это будет делать то, что вы хотите, но если вы заинтересованы только в этом для отладки случайной проблемы с макросом (так что это не то, что вам нужно отображать в сообщении для каждой компиляции), следующее можетработать для вас.Используйте опцию gcc -E -dD
для вывода директив #define
вместе с выводом предварительной обработки.Затем пропустите через grep
, чтобы увидеть только те строки, которые вам нужны:
// test.c
#include <stdlib.h>
#include <stdio.h>
#define ADEFINE "23"
#include <string.h>
int main(int argc, char *argv[])
{
#undef ADEFINE
#define ADEFINE 42
return 0;
}
Команда gcc -E -dD -c test.c | grep ADEFINE
показывает:
#define ADEFINE "23"
#undef ADEFINE
#define ADEFINE 42