读书人

gprof解决方法

发布时间: 2013-12-11 16:44:13 作者: rapoo

gprof
我想用gprof测试函数执行时间,下面是1.h,try1.c,main.c文件

1.h:

#define SIZE50000
int x[SIZE];
int y[SIZE];
int i;
int *p1,*p2;
void try1(void);


try1.c:
#include "1.h"
void try1()
{
for(i=0;i<SIZE;i++)
x[i]=y[i];
}


main.c:

int main (void)
{
try1();
return 0;
}


我编译链接是这样写的:
gcc -o 1 try1.c main.c -pg //这里网上写是gcc -g -o 1 try1.c main.c -pg,我不知为什么要加-g选项。。。。
调用gprof是这样的:
gprof -b 1


但是gprof的内容几乎全是0,看不出函数执行时间啊,怎么回事?
[解决办法]
-g是调试的参数,如果只是用gprof的话,这个参数可以不加。gprof的用法,你可以参照:
http://www.cnblogs.com/kenzhang1031/p/3407630.html
里面6. 简档器gprof用法。
[解决办法]
多运行几次吧。

int main (void)
{
int i = 0;
while(i++ < 1024)
try1();
return 0;
}

读书人网 >C语言

热点推荐