Проход по заголовкам в препроцессоре C

Есть ли способ перебрать все включенные / определенные заголовочные файлы, а затем #undef торговый центр?

Если проблема заключается в зацикливании, есть ли другой способ #undef все с легкостью?

1 ответ

Решение

GNU cpp предоставляет директиву -dM, чтобы сделать именно это, вы можете перечислить все определения:

gcc -E -dM -c foo.c

Затем вы можете использовать скрипт sed, чтобы отменить их в командной строке:)

gcc -E -c foo.c | sed 's / # define / # undef /'

или делай что угодно...

повеселись:)

Другие вопросы по тегам