Windows API 納秒級別延遲

2022-02-20 13:24:07 字數 846 閱讀 3259

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;//

獲得中止值

c語言計時納秒 如何利用rdtsc計算納秒級的時間

從奔騰 penium 系列開始,x86 處理器中增加了乙個64位的時間戳暫存器 tsc 每個經過乙個時鐘週期,該暫存器加1 機器重啟時,該暫存器將清空。現在的處理器其主頻都在1g以上,也就是說其時鐘週期是納秒級的 1秒 1000000000 1納秒 那該暫存器會不會溢位呢?我們可以計算一下,假設機器...

C 中的高精度計時方法(納秒級別計時)

queryperformancecounter獲得cpu執行計數值 精確的時間計量方法在某些應用程式中是非常重要的。常用的 windows api 方法 gettickcount 返回系統啟動後經過的毫秒數。另一方面,gettickcount 函式僅有 1ms 的分辨精度,很不精確。故而,我們要另外...

時間單位的換算(秒,毫秒,微秒,納秒,皮秒)

秒 second 時間單位 s,毫秒 millisecond 時間單位 ms 微秒 microsecond 時間單位 s 1s 秒 1000ms 毫秒 1ms 毫秒 1000 s 微秒 1 s 微秒 1000ns 納秒 1ns 納秒 1000ps 皮秒 1秒 s 1000 毫秒 ms 1,000,0...