首页 > 解决方案 > 如何在 C 中编写计时器函数?我尝试使用clock()函数

问题描述

我需要知道我花了多少次在 C 中运行特定方法,但计时器不起作用,它会打印值:0.000000。我读到正确的代码是:

clock_t a,b;
a=clock();
//code...
b=clock();
double result =(double) (a-b)/CLOCKS_PER_SEC;

但它不适用于我的程序。

int calculate (char *file1, char *file2,int param,char* path ){
double timeSpent = 0.0;
clock_t begin,finish;
begin = clock();
int dim1=strlen(file1);
int dim2= strlen(file2);
int i;
int **ppm =matrix(file1,dim1,file2,dim2,createMatrix(dim1,dim2));
int distance = ppm[dim1][dim2];
struct Instruction istr[distance + 1];
int tmp = start(ppm, file1, &dim1, file2, &dim2, istr);
end(file1, &dim1, file2, &dim2, istr, tmp);
for (i = 0; i <= dim1; i++)
    free(ppm[i]);
free(ppm);
if (numDiv > 0){
    numDiv--;}
finish= clock();
timeSpent=(double ) (finish-begin)/CLOCKS_PER_SEC;
printf("time: %3f",timeSpent);
}

标签: ctimerclock

解决方案


推荐阅读