对于普通的C程序:
#include<stdio.h>
#include<sys/time.h> //注意引用这个头文件
#include<unistd.h>
int delay(int time)
{
//这里用来表示你自己要运行的程序
}
int main()
{
//定义两个结构体,来记录开始和结束时间
struct timeval start;
struct timeval end;
//记录两个时间差
unsigned long diff;
//第一次获取时间,即表示开始记时
gettimeofday(&start,NULL);
//运行自己的程序
delay(10);
//第二次获取时间,即表示结束记时
gettimeofday(&end,NULL);
//计算时间差,并打印
diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec;
printf(“thedifference is %ld\n”,diff);
return 0;
}
对于内核模块的C程序
#include<stdio.h>
//注意引用这个头文件
#include<linux/time.h>
#include<unistd.h>
int delay(int time)
{
//这里用来表示你自己要运行的程序
}
int main()
{
//定义两个结构体,来记录开始和结束时间
struct timeval start;
struct timeval end;
//记录两个时间差
unsigned long diff;
//第一次获取时间,即表示开始记时
do_gettimeofday(&start,NULL);
//运行自己的程序
delay(10);
//第二次获取时间,即表示结束记时
do_gettimeofday(&end,NULL);
//计算时间差,并打印
diff = 1000000 * (end.tv_sec-start.tv_sec)+ end.tv_usec-start.tv_usec;
printf(“thedifference is %ld\n”,diff);
return 0;
}
评论 (0)