timeGetTime 找不到标识符

本文详细介绍了在使用timeGetTime函数时遇到的标识符未找到错误,并提供了具体的解决方案,包括正确引入库和头文件,以及在Qt环境下如何调整pro文件设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等风来不如迎风去

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值