之前因项目需要,需要一个微秒级延时函数。
如下微秒级延时函数(来自网络):
// 微秒级延时
void Delay(DWORD delayTime)
{
LARGE_INTEGER liPerfFreq = { 0 };
if (!QueryPerformanceFrequency(&liPerfFreq)) // 获取系统频率
return;
LARGE_INTEGER liPerfStart = { 0 };
LARGE_INTEGER liPerfNow = { 0 };
QueryPerformanceCounter(&liPerfStart);
for(;;)
{
QueryPerformanceCounter(&liPerfNow);
double time = ( ((liPerfNow.QuadPart - liPerfStart.QuadPart)*1000000) / (double)liPerfFreq.QuadPart);
if (time >= delayTime)
break;
}
}