以下代码为搜集资料数小时整理出来:延时1秒  

HANDLE hTimer = NULL;
LARGE_INTEGER liDueTime;
liDueTime.QuadPart = -10000*1000;
hTimer = ::CreateWaitableTimer(NULL,TRUE,NULL);
::SetWaitableTimer(hTimer,&liDueTime,0,NULL,NULL,0);
::WaitForSingleObject(hTimer,INFINITE);
::CloseHandle(hTimer);

以下为直接搜索boost库源码,找出相关函数

 boost::this_thread::interruptible_wait(1000);

(泪奔啊。。。)折腾这么久,竟然在现成的库里面~

不过收获颇丰。呵呵

另外附加计算代码运算时间,对应boost库是否有暂未查找。

LARGE_INTEGER litmp;
LONGLONG QPart1, QPart2, QFre;
QueryPerformanceFrequency(&litmp);
QFre = litmp.QuadPart; // 获得计数器的时钟频率
QueryPerformanceCounter(&litmp);
QPart1 = litmp.QuadPart; // 获得初始值

// ... 目标指令 

QueryPerformanceCounter(&litmp);
QPart2 = litmp.QuadPart;//获得中止值

 

相关文章:

  • 2021-08-07
  • 2021-09-06
  • 2021-11-19
  • 2021-11-19
  • 2021-08-10
  • 2022-12-23
  • 2021-12-03
猜你喜欢
  • 2022-12-23
  • 2021-08-05
  • 2021-12-09
  • 2021-10-01
  • 2021-09-16
  • 2022-02-24
  • 2022-12-23
相关资源
相似解决方案