gpt4 book ai didi

c - 如何修改 C 程序以便 gprof 可以分析它?

转载 作者:IT王子 更新时间:2023-10-29 00:47:46 25 4
gpt4 key购买 nike

当我在我的 C 程序上运行 gprof 时,它说我的程序没有累积时间,并显示所有函数调用的时间为 0。但是它确实计算了函数调用。

我如何修改我的程序,以便 gprof 能够计算运行所需的时间?

最佳答案

编译的时候有没有指定-pg?

http://sourceware.org/binutils/docs-2.20/gprof/Compiling.html#Compiling

编译后,运行程序,然后在二进制文件上运行 gprof。

例如:

测试.c:

#include <stdio.h>

int main ()
{
int i;
for (i = 0; i < 10000; i++) {
printf ("%d\n", i);
}
return 0;
}

编译为 cc -pg test.c , 然后运行 ​​a.out , 然后 gprof a.out , 给我

granularity: each sample hit covers 4 byte(s) for 1.47% of 0.03 seconds  %   cumulative   self              self     total            time   seconds   seconds    calls  ms/call  ms/call  name     45.6       0.02     0.02    10000     0.00     0.00  __sys_write [10] 45.6       0.03     0.02        0  100.00%           .mcount (26)  2.9       0.03     0.00    20000     0.00     0.00  __sfvwrite [6]  1.5       0.03     0.00    20000     0.00     0.00  memchr [11]  1.5       0.03     0.00    10000     0.00     0.00  __ultoa [12]  1.5       0.03     0.00    10000     0.00     0.00  _swrite [9]  1.5       0.03     0.00    10000     0.00     0.00  vfprintf [2]

你得到了什么?

关于c - 如何修改 C 程序以便 gprof 可以分析它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777669/

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