简体   繁体   中英

Loop through headers in C preprocessor

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?

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 :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM