gcc/g++ 有没有办法从命令行转储其默认预处理器定义?
我的意思是像__GNUC__
, __STDC__
, 等等。
是的,使用-E -dM
选项而不是 -c。
示例(将它们输出到标准输出):
echo | gcc -dM -E -
echo | clang -dM -E -
For C++
echo | g++ -dM -E -x c++ -
echo | clang++ -dM -E -x c++ -
来自海湾合作委员会手册 http://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html#index-dM-908:
代替正常输出,生成
所有指令的“#define”列表
期间定义的宏
预处理器的执行,
包括预定义的宏。这
为您提供一种了解是什么的方法
在您的版本中预定义的
预处理器。假设你没有
文件 foo.h,命令
touch foo.h; cpp -dM foo.h
将显示所有预定义的宏。
如果您使用 -dM 而不带 -E 选项,
-dM 被解释为 -fdump-rtl-mach 的同义词。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)