Проход по заголовкам в препроцессоре C
Есть ли способ перебрать все включенные / определенные заголовочные файлы, а затем #undef
торговый центр?
Если проблема заключается в зацикливании, есть ли другой способ #undef
все с легкостью?
1 ответ
Решение
GNU cpp предоставляет директиву -dM, чтобы сделать именно это, вы можете перечислить все определения:
gcc -E -dM -c foo.c
Затем вы можете использовать скрипт sed, чтобы отменить их в командной строке:)
gcc -E -c foo.c | sed 's / # define / # undef /'
или делай что угодно...
повеселись:)