用C++编写秒表的算法思想

来源:百度知道 编辑:UC知道 时间:2024/06/27 04:23:15
我想用C++编写一个计时器,其中秒表所用算法的思想大概是怎样的?不用具体的算法,求高手指点一下!
如果要精确到百分之一秒又要怎样做?

在DOS.h中有一个结构体,可以通过函数将系统时间传递给这个结构体,精度是10ms
我以前写过的延时代码;
pause(DWORD t)
{
struct time time1;
DWORD last, now;

gettime(&time1);
last = (time1.ti_hour*60*60*100)+(time1.ti_min*60*100)+(time1.ti_sec*100)+time1.ti_hund;
do{
gettime(&time1);
now = (time1.ti_hour*60*60*100)+(time1.ti_min*60*100)+(time1.ti_sec*100)+time1.ti_hund;;
Application->ProcessMessages();
if (now < last)
now += (24*60*60*100);
}while(now < (last+t));
}
/*
注意:其中有一句Application->ProcessMessages();很核心,他释放了程序占用CPU的资源,也就是在工作的时候CPU还可以接受其他的消息.而sleep会让CPU完全占用,运行的时候,感觉电脑要死机一样*/

搞个线程,每sleep 1s计时1s