我正在尝试使用此种子生成随机数
int rdtsc()
{
__asm__ __volatile__("rdtsc");
}
但是当我尝试编译时,我得到了这个错误:
error C2065: '__asm__' : identificador no declarado
error C2146: error de sintaxis : falta ';' delante del identificador '__volatile__'
我该怎么办?是否有其他方法可以生成真正的随机数,而不是通过time(null)
?
答案 0 :(得分:3)
64位版本的Visual C ++不支持内联汇编,但 为大多数特殊指令like rdtsc提供了内置函数。
所以不需要自己编写代码。
即使您使用的是32位编译器,汇编语法也不是
__asm__ __volatile__("rdtsc");
但只是
__asm rdtsc