我想查看由我正在使用的编译器的调用定义的所有宏。有什么办法吗?我在手册中看到它说您可以使用cpp -dM,但这对我不起作用。也许我做错了什么?

当我运行时:

cpp -dM

我没有从预处理器得到任何输出。如果我尝试在GCC上添加-dM作为选项,则不会有任何区别。

最佳答案

您可以使用:

gcc -dM -E - < /dev/null

请注意,除了此命令之外,您还可以获取编译器宏:
touch bla.c && gcc -dM -E bla.c

例如在我的计算机上:
$ touch bla.c && gcc -dM -E bla.c | wc -l
486
$ gcc -dM -E - < /dev/null | wc -l
124
$

关于gcc - 无论如何要查看预处理器定义的宏列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10904873/

10-11 21:07