使用“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
我正在尝试生成随机数,但使用这个种子
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