給程式計時對於程式設計師來說實在是太重要了,在windows上的那個clock()實在是不夠精確,精度只有10ms,真讓人難過。研究了下windows下使用c、c++計時的函式,給大家分享下。
主要就是兩個函式的使用。我先把一段可以執行的**貼出來,然後講講這兩個函式。
#include
#include
int main(
int argc,
char **argv)
1、large_integer在微軟的編譯器中實際上是乙個union,它的定義如下:
typedef union _large_integer
;
struct
u;
longlong quadpart;
}large_integer, *plarge_integer;
如果你使用的編譯器支援64位整數,那麼可以使用quadpart來引用變數的值。如果你的編譯器不支援64位整數,那麼可以使用lowpart和highpart來引用64位整數的低32位和高32位。
2、queryperformancefrequncy(large_integer *freq)
它用於獲得你的機器一秒鐘執行多少次,就是你的時鐘週期。
3、queryperformancecounter(large_integer *lpperformancecount)
它獲得的是cpu從開機以來執行的時鐘週期數。
o啦。。。。好好用用它吧。
windows下的C C 精確計時
由於我要測試線性篩法的速度,用上了c c 精確計時.此時傳統的clock 方法不夠用了,我們需要另一種測量的辦法,即cputicks cpufreq.如何實現呢?include large integer freq,start,stop queryperformancefrequency freq ...
Windows程式設計中實現精確計時
queryperformancecounter 函式返回高精確度效能計數器的值,它可以以微妙為單位計時.queryperformancecounter 確切的精確計時的最小單位是與系統有關的,queryperformancefrequency 提供了這個系統頻率值,它返回每秒嘀噠聲的個數.int g...
c 準確計時 C 精確計時
include large integer m freq,m timestart,m timenow queryperformancefrequency m freq queryperformancecounter m timestart double time double m timestart...