規避GetTickCount越界問題

2021-06-29 09:17:00 字數 817 閱讀 6921

//程式中經常性的需要獲取系統執行毫秒值來進行計算或者判斷。但是

//gettickcount獲取的毫秒值可能在電腦連續執行二三十天以後產生越界現象。

//為了規避這種現象,使用獲取程式執行毫秒值來代替系統執行毫秒值

//下面**是抄襲我****,做個備忘。

//標頭檔案

#ifndef __get_cpu_time_h__

#define __get_cpu_time_h__

#include

#pragma once

class getcputime

;//cpp檔案

#include "stdafx.h"

#include "getcputime.h"

static large_integer m_liperfstart;

static large_integer m_liperffreq;

getcputime::getcputime(void)

getcputime::~getcputime(void)

void getcputime::init()

long long getcputime::gettime()

;// 計算cpu執行到現在的時間

queryperformancecounter(&liperfnow);

long long  ulinterval = ( ((liperfnow.quadpart - m_liperfstart.quadpart) * 1000)/m_liperffreq.quadpart);

return ulinterval;

}

GetTickCount 函式的陷阱!

開發中經經常使用gettickcount 函式來進行間隔時間的推斷。如推斷某一段 執行花了多少時間等,使用比較方便。可是僅僅針對尋常的一些測試。近期開發乙個服務程式時,也在 中用gettickcount 來進行推斷,大體格式例如以下 dword dwbegin 0 void thread run v...

GetTickCount 函式的作用和用法

csdn老帖 http topic.csdn.net t 20050107 12 3706743.html 1 一般用作定時相關的操作。gettickcount 返回開機以來經過的毫秒數 2 在要求誤差不大於1毫秒的情況下,可以採用gettickcount 函式,該函式的返回值是dword型,表示以...

GetTickCount 函式的作用和用法

start gettickcount 執行耗時的操作 stop gettickcount timeused stop start 1000 使用了 秒 用來定時 void main getchar return 對於一般的實時控制,使用gettickcount 函式就可以滿足精度要求,但要進一步提高...