会挽雕弓如满月,西北望,射天狼。 注册 | 登陆

C/C++利用CPU时钟计数器精确计时

C++代码
  1. __inline unsigned __int64 GetCycleCount()      
  2. {   
  3.     __asm   _emit   0x0F   
  4.     __asm   _emit   0x31   
  5. }  

经测试,C/C++都可用。

似乎只有intel的CPU可以。

使用

unsigned __int64 mytime=GetCycleCount();

即可获得CPU至加电以来的时钟周期数,除以CPU时钟频率即可得时间。

小技巧:

1.CPU时钟频率通常很大,所以除以(CPU时钟频率/1000000)得到微秒级时间,以此类推。

2.如果要想转为double做除法运算,先要转为signed __int64。

Tags: 编程, c

« 上一篇 | 下一篇 »

只显示5条记录相关文章

可能是jQuery1.3.2的一个小bug (浏览: 628, 评论: 1)
扫雷对战版 (浏览: 5105, 评论: 2)
一个用Qt写的多线程聊天室软件 (浏览: 2021, 评论: 3)
function str_getcsv() (浏览: 1195, 评论: 0)
python url 解码的问题 (浏览: 1724, 评论: 0)

发表评论

评论内容 (必填):