使用clock函數實現跨平臺的精確計時

       在用 cocos2d-x的過程中,想計算時間差,比如touchbegin與touchend的點擊時間差的時候,需要獲得當前的時間,這個時候一般用的是time(NULL)來獲得,返回的單位是time_t 在ios平臺上看了下,也就是long,也就是從1970年1月1日開始的秒數。但是這個時間不是很精確,只能精確到秒。

如果要經常到毫秒,或者微秒,我們可以使用C函數clock_t clock(void),函數返回一個clock_t  類型,其實也是個long,然後怎麼知道這個返回值的表示多少時間呢?

這裏有個宏,CLOCKS_PER_SEC 明顯就是 一秒鐘有多少clocks的意思,我們獲取clocks後除以這個宏就可以得到以秒爲單位的時間了,代碼如下:

   float  curTimeSec =  (float) click()/(float) CLOCKS_PER_SEC ;

發佈了32 篇原創文章 · 獲贊 23 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章