在C预处理器中循环遍历标头

时间:2011-11-26 05:35:31

标签: c header c-preprocessor undef

有没有办法遍历所有包含/定义的头文件,然后#undef它们全部?

如果循环问题,是否有另一种方法可以轻松地#undef所有这些?

1 个答案:

答案 0 :(得分:2)

GNU cpp提供了一个-dM指令来完成这个,你可以列出所有的定义:

  

gcc -E -dM -c foo.c

然后,您可以使用sed脚本在命令行上取消它们:)

  

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

或做任何事......

玩得开心:)