使用`rdtsc`:错误C2065

时间:2017-05-24 07:47:10

标签: c++ windows visual-studio inline-assembly

我正在尝试使用此种子生成随机数

int rdtsc()         
{
    __asm__ __volatile__("rdtsc");
}

但是当我尝试编译时,我得到了这个错误:

error C2065: '__asm__' : identificador no declarado
error C2146: error de sintaxis : falta ';' delante del identificador '__volatile__'

我该怎么办?是否有其他方法可以生成真正的随机数,而不是通过time(null)

1 个答案:

答案 0 :(得分:3)

64位版本的Visual C ++不支持内联汇编,但 为大多数特殊指令like rdtsc提供了内置函数。

所以不需要自己编写代码。

即使您使用的是32位编译器,汇编语法也不是

__asm__ __volatile__("rdtsc");

但只是

__asm rdtsc