Loop through headers in C preprocessor

473 Views Asked by At

Is there a way to loop through all the included/defined header files and then #undef them all?

If looping is the issue, is there another way to #undef all of them with ease?

1

There are 1 best solutions below

5
Ahmed Masud On BEST ANSWER

GNU cpp provides a -dM directive to do exactly that, you can list all the defines:

gcc -E -dM -c foo.c

You can then use a sed script to undef them on command line :)

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

or do whatever...

have fun :)