【问题标题】:GCov and GCC, *.da Files Not CreatedGCov 和 GCC,*.da 文件未创建
【发布时间】:2011-04-20 22:23:24
【问题描述】:

我使用的是 GCC 版本 3.3.6。当我使用-fprofile-arcs-ftest-coverage 检测我的目标文件时,会创建相应的*.bb*.bbg 文件。

然后将对象文件链接到一个静态库 libfoo.a 中,其中:
ar rcs libfoo.a foo1.o foo2.o

最后,将一系列静态库链接在一起以创建我的可执行文件:
gcc -fprofile-arcs -o foo.o <static libraries linked all>

现在,当我运行映像时,不会创建 *.da 文件。有没有我遗漏的步骤?有人有其他建议吗?

谢谢。

【问题讨论】:

    标签: gcov


    【解决方案1】:

    可执行文件需要与 gcov 库链接:

    gcc -fprofile-arcs -o foo.o <static libraries linked all> -lgcov
    

    编辑:从 gcc 4.1.2 开始,--coverage 选项可以用作-fprofile-arcs -ftest-coverage(编译时)和-lgcov(链接时)的同义词。

    另外,值得注意的是,文件是在与编译相同的目录中创建的。该目录应可从执行环境访问。最近版本的 gcc (4-1) 引入了环境变量来调整目标目录:GCOV_PREFIX 和 GCOV_PREFIX_STRIP,参见 gcc 文档的cross-profiling section

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-29
      • 2012-09-25
      • 2016-10-24
      • 2013-07-04
      • 2013-10-25
      • 2013-04-08
      • 1970-01-01
      • 2016-08-25
      相关资源
      最近更新 更多