Linux
一. 简介
大家都知道,不管定时器还是计数器,在项目开发的过程中是必不可少的。在linux系统当中当然内核有它自己的定时器,在用户模式下也无法使用内核的,今天给大家分享一个我一直用的,真的挺好用。
二.使用
计数器,我们用的最多的就是定义变量自加的方式来计数,但是如果要查看代码的执行时间,或者是到几分钟后退出程序等等,我们就使用下面的方法
1.计时器
#include <stdio.h>
#include <sys/time.h>
int main()
{
int time_min = 0;
int time_s = 0;
//计时器开始计时
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
//延时2s 这里根据自加的需求编写
sleep(2);
//计时器显示时间
gettimeofday(&tpend,NULL);
timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) +
(tpend.tv_usec - tpstart.tv_usec);
timeuse/=1000000;
time_min = (int)timeuse / 60;
time_s = (int)timeuse % 60;
printf("delay time %dmin%ds\r\n", time_min, time_s);
return 0;
}
运行的结果
2. 定时器
#include <stdio.h>
#include <sys/time.h>
int main()
{
int time_min = 0;
int time_s = 0;
//计时器开始计时
struct timeval tpstart,tpend;
float timeuse;
gettimeofday(&tpstart,NULL);
//定时5分钟后退出程序
while(time_min < 5)
{
//计时器显示时间
gettimeofday(&tpend,NULL);
timeuse = 1000000 * (tpend.tv_sec - tpstart.tv_sec) +
(tpend.tv_usec - tpstart.tv_usec);
timeuse/=1000000;
time_min = (int)timeuse / 60;
time_s = (int)timeuse % 60;
}
printf("delay time %dmin%ds\r\n", time_min, time_s);
return 0;
}
这样就可以在程序运行5分钟后,进行退出,大家可以根据自己的需求进行修改代码,来实现自己想要的功能。