1, 安装cygwin
2, 拷贝lcov
lcov就是一个perl脚本,比较容易移植。把Linux上的lcov(包含五个文件lcov, gendesc, genhtml, geninfo, genpng)复制到Windows的Cygwin的bin目录即可。
3,测试代码
//a.c
#include <stdio.h>
#include <stdlib.h>
void test(int vount);
int main(int argc, char *argv[])
{
int i = 0;
if(argc == 2)
i = atoi(argv[1]);
else
i = 10;
printf("arg is %d\n", i);
test(i);
return ;
}
// b.c
#include <stdio.h>
void test(int count)
{
int i;
for (i = 1; i < count; i++)
{
if (i % 3 == 0)
printf ("%d is divisible by 3\n", i);
if (i % 11 == 0)
printf ("%d is divisible by 11\n", i);
if (i % 13 == 0)
printf ("%d is divisible by 13\n", i);
}
}
4, 生成gcno文件
gcc -c a.c b.c -ftest-coverage -fprofile-arcs 生成了 .gcno文件
5, 生成gcda文件
gcc a.o b.o -o a –lgcov
./a
6, 生成代码覆盖率信息文件.c.gcov
gcov b.gcda
7, 生成HTML文档
lcov -c -o b.info -d b.gcda
genhtml -o result a.info