小编Buğ*_*dik的帖子

从gcov/lcov覆盖结果中排除某些功能

是否可以从gcov覆盖率分析中排除某些功能或代码行.我的代码包含用于调试的某些函数,并且不作为我的测试套件的一部分进行操作.这些功能降低了gcov报告的覆盖率.我想从结果中排除这些功能.如果通过gcov无法实现,也许可以通过lcov,但我无法弄明白.非常感谢您的帮助.

c++ gcov lcov

11
推荐指数
1
解决办法
3239
查看次数

如何通过doxygen扩展宏,但没有记录为定义?

说我有:

#define MY_MACRO(FOO) void FOO();

MY_MACRO(hi);
MY_MACRO(hey);
MY_MACRO(hello);

#undef MY_MACRO
Run Code Online (Sandbox Code Playgroud)

我希望通过doxygen扩展宏,我可以通过正确的方式配置它来完成:

ENABLE_PREPROCESSING   = YES
MACRO_EXPANSION        = YES
EXPAND_ONLY_PREDEF     = YES
EXPAND_AS_DEFINED      = MY_MACRO
Run Code Online (Sandbox Code Playgroud)

这使我看到了宏的展开结果作为doxygen的输出记录的API(函数hi,heyhello).到目前为止,这一切都很好.但问题是,doxygen也将文档MY_MACRO定义为定义.但是,我不希望API的客户端知道MY_MACRO,因为它没有被使用,并且不能被它们使用,并且不应该对它们可见.

我有EXTRACT_ALL = YES我的doxygen配置,我不想改变它.我尝试了以下配置但没有成功:

PREDEFINED      = DOXYGEN_SKIP_FOR_USERS
Run Code Online (Sandbox Code Playgroud)

使用以下代码:

#ifndef DOXYGEN_SKIP_FOR_USERS
#define MY_MACRO(FOO) void FOO();
#endif /*DOXYGEN_SKIP_FOR_USERS*/

MY_MACRO(hi);
MY_MACRO(hey);
MY_MACRO(hello);

#undef MY_MACRO
Run Code Online (Sandbox Code Playgroud)

这隐藏了define的文档,但当然会阻止扩展,所以我没有得到生成的API中记录的函数.

我很感激你的帮助.

c c++ doxygen

5
推荐指数
1
解决办法
5346
查看次数

标签 统计

c++ ×2

c ×1

doxygen ×1

gcov ×1

lcov ×1