我使用.c
在一些gcc -fprofile-arcs -ftest-coverage [filenames]
文件上运行gcov工具。命令
但是为这个命令提供文件名是非常繁琐的工作
相反,我需要帮助,我可以在包含所有源文件的文件夹上运行gcov工具。
这可能吗?
请帮我解决一下。
提前致谢。
答案 0 :(得分:1)
我遇到了同样的问题,我的项目包含~3000个文件。 编写一个shell脚本,使用find exec将所有.c .gcno和.gcda文件抓取到一个公共文件夹,然后使用相同的命令运行gcov。 样品:
LOCATION=your_gcov_folder_name
find -name '*.c' -exec cp -t $LOCATION {} +
find -name '*.gcno' -exec cp -t $LOCATION {} +
find -name '*.gcda' -exec cp -t $LOCATION {} +
cd $LOCATION
find -name '*.c' -exec gcov -bf {} \;
在包含项目的代码文件夹上运行它。
答案 1 :(得分:0)
[LCOV] [1]自动提供用户友好的报告,首先我建议看一看。
如果您真的想使用gcov显示覆盖率数据,可以尝试
找到。 -name" * .cpp" -exec sh -c' gcov {} -o" $(dirname {})"' \;
这将根据您的gcno和gcda文件创建gcov文件。
通常移动gcno / gcda文件并不完美。它会导致查找源代码的问题。