如何解决使用 --coverage 选项编译时是否定义了任何宏?
正如标题所提到的,我想实现这样的目标:
void my_exit(int status)
{
#ifdef _GCOV
__gcov_flush();
#endif
_exit(status);
}
但是我不知道用_GCOV
编译时是否定义了--coverage
(或类似的东西)。任何想法将不胜感激!
解决方法
好像不是:
$ true | gcc -E - -dM > no-coverage.h
$ true | gcc -E - -dM --coverage > coverage.h
$ diff no-coverage.h coverage.h
,
由于似乎没有预定义的宏,根据 o11c 的 answer,一个简单的解决方案是自己定义它:
gcc --coverage -D GCOV
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。