在Windows XP系统下,获取准确的1ms计时器滴答需要使用高精度计时器。以下是一些建议:
#include<windows.h>
#include<stdio.h>
int main()
{
LARGE_INTEGER frequency;
LARGE_INTEGER start;
LARGE_INTEGER end;
QueryPerformanceFrequency(&frequency);
QueryPerformanceCounter(&start);
// 您的代码
QueryPerformanceCounter(&end);
double elapsedTime = (double)(end.QuadPart - start.QuadPart) / frequency.QuadPart * 1000;
printf("Elapsed time: %f ms\n", elapsedTime);
return 0;
}
#include<windows.h>
#include <mmsystem.h>
#include<stdio.h>
int main()
{
UINT wTimerRes = 1;
MMRESULT result = timeBeginPeriod(wTimerRes);
DWORD start = timeGetTime();
// 您的代码
DWORD end = timeGetTime();
timeEndPeriod(wTimerRes);
double elapsedTime = (double)(end - start);
printf("Elapsed time: %f ms\n", elapsedTime);
return 0;
}
请注意,Windows XP系统已经过时,可能无法支持某些新的功能和库。因此,建议您升级到更新的操作系统,以获得更好的兼容性和安全性。
领取专属 10元无门槛券
手把手带您无忧上云