當前位置:編程學習大全網 - 編程軟體 - VC++編程中 如何獲取當前時間(精確到毫秒)

VC++編程中 如何獲取當前時間(精確到毫秒)

1、直接利用Pentium CPU內部時間戳進行計時的高精度計時手段。

2、在 Intel Pentium以上級別的CPU中,有壹個稱為“時間戳(Time Stamp)”的部件,它以64位無符號整型數的格式,記錄了自CPU上電以來所經過的時鐘周期數。由於目前的CPU主頻都非常高,因此這個部件可以達到納秒級的計時精度。

3、因為RDTSC不被C++的內嵌匯編器直接支持,所以要用_emit偽指令直接嵌入該指令的機器碼形式0X0F、0X31,如下:

inline unsigned __int64 GetCycleCount()

{

__asm _emit 0x0F

__asm _emit 0x31

}

4、在需要計數器的場合,可以像使用普通的Win32 API壹樣,調用兩次GetCycleCount函數,比較兩個返回值的差,像這樣:

unsigned long t;

t = (unsigned long)GetCycleCount();

//Do Something time-intensive ...

t -= (unsigned long)GetCycleCount();

  • 上一篇:交通燈控制器通用電路的設計
  • 下一篇:plc編程用什麽樣的電腦最好
  • copyright 2024編程學習大全網