现在的位置: 首页 > 综合 > 正文

利用timeGetTime()实现延时操作

2018年02月11日 ⁄ 综合 ⁄ 共 716字 ⁄ 字号 评论关闭
相信有很多朋友想利用timeGetTime()实现延时操作,通常实现方法如下:

但在编译时出现下面错误,不知为什么,我也曾经出现过这种问题,但通过自己的努力已经解决了,下面给出解决方法,希望能对大家有所帮助.

void CDib::Delay(DWORD dwDelayTime)
{
    DWORD dwTimeBegin,dwTimeEnd;
    dwTimeBegin = timeGetTime();
    do
    {
        dwTimeEnd = timeGetTime();
    }while(dwTimeEnd - dwTimeBegin <dwDelayTime);
}

出错信息:
Dib.obj : error LNK2001: unresolved external symbol __imp__timeGetTime@0
Debug/***.exe : fatal error LNK1120: 1 unresolved externals

 
有很多书上也有这个例子,并且书上的可以运行,自己做就不行了.
 
解决方法:
1.首先不要慌,要冷静下来,查MSDN;
2.MSDN上介绍了timeGetTime()需要的东西:
 

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Mmsystem.h.
  Library: Use Winmm.lib.

3.看是不是头文件的问题,添加头文件#include "Mmsystem.h"后,还是不行;
4.那么看看是不是库的问题,添加库Winmm.lib后行了;
5.顺利解决!

 

抱歉!评论已关闭.