使用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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章