gprof解决方法
gprof我想用gprof测试函数执行时间,下面是1.h,try1.c,main.c文件1.h:#define SIZE50000int x[SIZE]int y[
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;
}