使用“rdtsc”:错误 C2065

Using `rdtsc`: error C2065

我正在尝试生成随机数,但使用这个种子

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

但是当我尝试编译时出现这个错误:

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

我需要做什么?除了通过 time(null)?

之外,还有其他方法可以生成真正的随机数吗?

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

因此无需自己编写该代码。


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

__asm__ __volatile__("rdtsc");

但只是

__asm rdtsc