是我使用rdtsc:atomic的方式

时间:2014-11-07 20:54:54

标签: c++

我正在使用带有C ++代码的x64机器

__asm__ __volatile__ ("rdtsc" : "=a" lo), "=d" (hi));

其中lo和hi是无符号ints并存储时钟计数器的32位值。将lo和hi原子地存储,或者是否可能由于lo溢出和增量的情况,我得到滚动之前和之后的一个值,这将导致计数为2 ^ 32太低或2 ^ 32太高(取决于先捕获哪一个)。

0 个答案:

没有答案