如何解决GCC 转储预处理器定义
是的,使用-E -dM
选项而不是 -c。示例(将它们输出到标准输出):
echo | gcc -dM -E -
echo | clang -dM -E -
对于 C++
echo | g++ -dM -E -x c++ -
echo | clang++ -dM -E -x c++ -
从gcc 手册:
代替正常的输出,为预处理器执行期间定义的所有宏生成一个“#define”指令列表,包括预定义的宏。这为您提供了一种查找预处理器版本中预定义内容的方法。假设你没有文件 foo.h,命令
touch foo.h; cpp -dM foo.h
将显示所有预定义的宏。
如果在没有 -E 选项的情况下使用 -dM,则 -dM 被解释为 -fdump-rtl-mach 的同义词。
解决方法
gcc/g++ 有没有办法从命令行转储其预处理器定义?我的意思是__GNUC__
,__STDC__
等。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。