问题 可以使用gcc / gcov将覆盖率统计输出到源文件夹以外的位置吗?


当使用带有-fprofile-arcs和-ftest-coverage的gcc时,当生成的可执行文件终止时,它会尝试在与用于编译可执行文件的.o文件相同的位置创建.gcda输出文件。当我在与我构建的机器不同的机器上运行时,这是不方便的 - 有没有办法改变这种行为?


1130
2017-09-17 12:10


起源



答案:


您可以使用环境变量 GCOV_PREFIX。它在文档中提到了一个 “交叉剖析”部分,本身在文档中提到 -fprofile-arcs


14
2017-09-19 18:58



如果我想将可执行文件从“编译机器”移动到“目标机器”,程序将被执行并且将测量覆盖率:我是否必须移动编译器生成的“* .gcno”文件(例如“main” .cpp.gcno“为我的源文件main.cpp生成的”? - ilya


答案:


您可以使用环境变量 GCOV_PREFIX。它在文档中提到了一个 “交叉剖析”部分,本身在文档中提到 -fprofile-arcs


14
2017-09-19 18:58



如果我想将可执行文件从“编译机器”移动到“目标机器”,程序将被执行并且将测量覆盖率:我是否必须移动编译器生成的“* .gcno”文件(例如“main” .cpp.gcno“为我的源文件main.cpp生成的”? - ilya