可以让 gcc/gcov 将覆盖率统计信息输出到源文件夹以外的位置吗?
Posted
技术标签:
【中文标题】可以让 gcc/gcov 将覆盖率统计信息输出到源文件夹以外的位置吗?【英文标题】:Can gcc/gcov be made to output coverage stats to a location other than the source folder? 【发布时间】:2010-11-29 03:15:49 【问题描述】:当使用带有 -fprofile-arcs 和 -ftest-coverage 的 gcc 时,当生成的可执行文件终止时,它会尝试在与用于编译可执行文件的 .o 文件相同的位置创建 .gcda 输出文件。当我在与我构建的机器不同的机器上运行时,这很不方便——有什么办法可以改变这种行为吗?
【问题讨论】:
【参考方案1】:您可以使用环境变量GCOV_PREFIX
。在"cross-profiling" section 下的文档中提到了它,它本身在-fprofile-arcs
的文档中被引用。
【讨论】:
如果我想将可执行文件从“编译机”移动到“目标机”,将执行程序并测量覆盖率:我是否必须移动生成的“*.gcno”文件由编译器(例如为我的源文件 main.cpp 生成的“main.cpp.gcno”)?以上是关于可以让 gcc/gcov 将覆盖率统计信息输出到源文件夹以外的位置吗?的主要内容,如果未能解决你的问题,请参考以下文章
无法在 PyDev 中使用 Coverage,“文件没有统计信息”