timeGetTime 找不到标识符
程序员文章站
2022-06-30 10:51:51
...
timeGetTime 找不到
- timeGetTime: identifier not found
- timeGetTime 找不到标识符
引入库和头文件
#include <Windows.h>
//for timeGetTime
#pragma comment(lib, "winmm.lib")
依旧报错
解决方法
- 去掉WIN32_LEAN_AND_MEAN
//#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// Windows Header Files:
#include <windows.h>
Qt的pro文件
DEFINES += WIN32_LEAN_AND_MEAN //去掉这个
DEFINES += _CRT_SECURE_NO_WARNINGS //可以有
DEFINES += __STDC_LIMIT_MACROS //可有
timeGetTime的精度是毫秒
#include "stdio.h"
#include "time.h"
#include "windows.h"
#pragma comment(lib,"winmm.lib")
int main()
{
#define TARGET_RESOLUTION 1 // 1-millisecond target resolution
TIMECAPS tc;
UINT wTimerRes;
if (timeGetDevCaps(&tc, sizeof(TIMECAPS)) != TIMERR_NOERROR)
{
// Error; application can't continue.
}
wTimerRes = min(max(tc.wPeriodMin, TARGET_RESOLUTION), tc.wPeriodMax);
timeBeginPeriod(wTimerRes);
// Actually the above is not needed, since the following command alone works also,
// but maybe it's still better to use the above, who knows how Microsoft has
// designed Windows:
//
// timeBeginPeriod(1);
double t1,t2,tt;
for(int z=0;z<10;z++)
{
t1=clock();
t2=clock();
while(t2<=t1)t2=clock(); // wait for smallest change (15ms on windows)
tt=(t2-t1);
printf("%17.8f %17.8f %17.8f\n",
t1/(double)CLOCKS_PER_SEC,
t2/(double)CLOCKS_PER_SEC,
tt/(double)CLOCKS_PER_SEC);
}
printf("-------------------------------------------------------\n");
for(int z=0;z<10;z++)
{
t1=GetTickCount();
t2=GetTickCount();
while(t2<=t1)t2=GetTickCount(); // wait for smallest change (15ms on windows)
tt=(t2-t1);
printf("%17.8f %17.8f %17.8f\n",
t1/1000.0,
t2/1000.0,
tt/1000.0);
}
printf("-------------------------------------------------------\n");
for(int z=0;z<10;z++)
{
t1=timeGetTime();
t2=timeGetTime();
while(t2<=t1)t2=timeGetTime(); // wait for smallest change (1ms on windows)
tt=t2-t1;
printf("%17.8f %17.8f %17.8f\n",
t1/1000.0,
t2/1000.0,
tt/1000.0);
}
return 0;
}
上一篇: pro 文件生成sln