Проход по заголовкам в препроцессоре C - PullRequest
0 голосов
/ 26 ноября 2011

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

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

1 Ответ

2 голосов
/ 26 ноября 2011

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

gcc -E -dM -c foo.c

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

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

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

веселиться :)

...