使用 --coverage 选项编译时是否定义了任何宏?
Is there any macro defined when compiling with --coverage option?
正如标题所说,我想实现这样的事情:
void my_exit(int status)
{
#ifdef _GCOV
__gcov_flush();
#endif
_exit(status);
}
但是不知道用--coverage
编译的时候有没有定义_GCOV
(或者类似的东西)。任何想法将不胜感激!
似乎不是:
$ true | gcc -E - -dM > no-coverage.h
$ true | gcc -E - -dM --coverage > coverage.h
$ diff no-coverage.h coverage.h
因为根据 o11c 的 ,似乎没有预定义的宏,一个简单的解决方案是自己定义它:
gcc --coverage -D GCOV
正如标题所说,我想实现这样的事情:
void my_exit(int status)
{
#ifdef _GCOV
__gcov_flush();
#endif
_exit(status);
}
但是不知道用--coverage
编译的时候有没有定义_GCOV
(或者类似的东西)。任何想法将不胜感激!
似乎不是:
$ true | gcc -E - -dM > no-coverage.h
$ true | gcc -E - -dM --coverage > coverage.h
$ diff no-coverage.h coverage.h
因为根据 o11c 的
gcc --coverage -D GCOV