微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

GCC 转储预处理器定义

如何解决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 举报,一经查实,本站将立刻删除。