xiaoche笔记 https://bbs.21ic.com/?573844 [收藏] [复制] [RSS]

日志

C++中纳秒级精确计时程序

已有 1283 次阅读2012-1-4 03:45 |系统分类:嵌入式系统

#include <stdio.h>
#include <windows.h> 
double PCFreq = 0.0;
__int64 CounterStart = 0; 
void StartCounter()
{    
 LARGE_INTEGER li;    
 if(!QueryPerformanceFrequency(&li))        
  printf( "QueryPerformanceFrequency failed!\n");  
 printf("%d\n",li.QuadPart);
 PCFreq = double(li.QuadPart)/1000000000.0;     
 QueryPerformanceCounter(&li);    
 CounterStart = li.QuadPart;
}
double GetCounter()
{    
 LARGE_INTEGER li;    
 QueryPerformanceCounter(&li);    
 return double(li.QuadPart-CounterStart)/PCFreq;

int main()
{    
 StartCounter();    
 Sleep(1);    
 printf("%f\n",GetCounter()); 
 getchar();
 return 0;
}


以上程序可以实现纳秒级的计时。主要用到QueryPerformanceFrequency和QueryPerformanceCounter函数。


 


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)