作者:两人浪漫_607 | 来源:互联网 | 2023-08-27 18:44
gcc -dM -E - < /dev/null
注释:
-E
选项指示 GCC 在预处理完毕之后即可停止
-dM
不做实际的预处理,仅仅列出所有#define的宏,这些宏大部分与体系结构和GNU相关,或来自所包含的头文件。
#程序输出太长,这里就不列出了
$gcc -E -dM hello.c
另外,还有一些-dCHARS的组合选项:
- -dD:和-dM类似,不过仅仅包含头文件中定义的宏,不会输出预处理器中默认定义的宏,另外会将源程序代码也预处理输出。
- -dN:和-dD类似,但仅输出定义的宏的名称,不输出宏的值。
- -dI:给出#include的头文件,预计预处理的结果
- -dU:和-dD类似,但仅仅输出那些在源码中需要展开的,或者其定义会被测试到的宏