gpt4 book ai didi

c - 保留源文件路径的问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:13 25 4
gpt4 key购买 nike

假设我目前在 /home/testUser/gcovTest/test1/ 目录中,我有一个文件 test.c,我用 gcc 编译它 - fprofile-arcs -ftest-coverage test.c 生成相关的 .gcda 和 .gcno 文件。

编译成功后,我执行生成的二进制./a.out 并运行以下命令生成.gcov 报告。

gcov -p test.c

我的预期

生成的 test.c.gcov 文件应该包含 test.c 的完整路径,即 home/testUser/gcovTest/test1/test.c source: 标签中,但实际上它只包含 test.c

问题

如何让 gcov 在 test.c.gcov 文件中保留 test.c 的完整路径?

我什至尝试了以下方法,但它仍然在 test.c.gcov 的源代码中打印 test.c

gcov -p home/testUser/gcovTest/test1/test.c 

最佳答案

gcov-p 开关将输入文件的路径保留在输出的文件名中。也就是说,

gcov -p /foo/bar/baz.c

生成文件 #foo#bar#baz.c.gcov 而不是简单的 baz.c.gcov - 但文件的内容是相同的。

.gcov 报告中显示的源文件名称是由gcc 生成的。如果您希望报告中包含完整路径,只需在编译命令行中指定完整路径即可:

$ gcc -fprofile-arcs -ftest-coverage /foo/bar/test.c
$ ./a.out
$ gcov test.c
File '/foo/bar/test.c'
Lines executed: ...
Creating 'test.c.gcov'
$ head -n 1 test.c.gcov
-: 0: Source:/foo/bar/test.c

关于c - 保留源文件路径的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56831646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com