为什么我在Linux使用gettimeofday会报未定义的错???
代码如下:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i,j,k;
char bu;
float **matrix,**matrix1,**matrix2;
int num;
scanf("%d",&num);
scanf("%c",&bu);
matrix=new float*[num];
matrix1=new float*[num];
matrix2=new float*[num];
for(i=0;i<num;i++)
{
matrix[i]=new float[num];
matrix1[i]=new float[num];
matrix2[i]=new float[num];
}
srand(time(NULL));
for(i=0;i<num;i++)
for(j=0;j<num;j++)
{
matrix[i][j]=0;
matrix1[i][j]=(float)rand();
matrix2[i][j]=(float)rand();
}
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
for(i=0;i<num;i++)
for(j=0;j<num;j++)
for(k=0;k<num;k++)
{
matrix[i][j]+=matrix1[i][k]*matrix2[k][j];
}
gettimeofday(&tpend,NULL);
timeuse=1000000*(tpend.tv_sec-tpstart.tv_sec)+tpend.tv_usec-tpstart.tv_usec;
printf("%f\n",timeuse);
return 0;
}
在UINX上可以编译成功,但在Linux上会报这个错:
$ g++ -c singlethread.c
singlethread.c: In function `int main()':
singlethread.c:38: error: `gettimeofday' undeclared (first use this function)
singlethread.c:38: error: (Each undeclared identifier is reported only once for each function it appears in.)
请大家帮忙解决一下,谢谢