c++ 准确计时_C++精确计时
本文首先通過QueryPerformanceFrequency獲取高精度計時器的時鐘頻率,然后通過兩次調用QueryPerformanceCounter獲取高精度計時器的差值,最后以差值除以時鐘頻率獲取精確計時。
但要注意,時鐘頻率及計時器的值均為LONGLONG類型,需轉換為double后才能計算精確的秒數。
以下為代碼:
LARGE_INTEGER frequency;
LARGE_INTEGER start;
LARGE_INTEGER stop;
QueryPerformanceFrequency(&frequency); //獲取計時器的時鐘頻率
QueryPerformanceCounter(&start); //獲得計數器初始值
Sleep(10); //耗時操作(暫停10ms)
QueryPerformanceCounter(&stop); //獲得計數器終止值
const auto interval = static_cast(stop.QuadPart - start.QuadPart);
const auto timeSpanSecond = interval / frequency.QuadPart; //獲取秒數
const auto timeSpanMillisecond = timeSpanSecond * 1000.0; //獲取毫秒數
std::cout << "Sleep(10) takes " << timeSpanMillisecond << "ms." << std::endl;
下面為結果:
總結
以上是生活随笔為你收集整理的c++ 准确计时_C++精确计时的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: T14重型坦克和15式轻坦为何分道扬镳
- 下一篇: 【转载】OpenCV(C++ 与 Pyt