C++这个代码有问题吗?

Jas*_*son 0 c++ windows

我试图找到一种方法来为加密方法找到某种纳秒级时序.我在stackoverflow上找到了这个代码,它似乎没有在VS2010中编译,但我无法弄清楚为什么.错误是'time = GetCpuClocks()'并说"错误C3861:'GetCpuClocks':标识符未找到",我不明白为什么?我在struct声明中也遇到了'int32'类型的问题.

(我假设'时间'声称'长'可以吗?或者它应该是__int64?

提前致谢

int _tmain(int argc, _TCHAR* argv[])
{
    __int64 time;
    time = GetCpuClocks();
}

inline __int64 GetCpuClocks() {      
    // Counter     
    struct { int32 low, high; } counter;      

    // Use RDTSC instruction to get clocks count     
    __asm push EAX     
    __asm push EDX    
    __asm __emit 0fh 
    __asm __emit 031h 

    // RDTSC     
    __asm mov counter.low, EAX     
    __asm mov counter.high, EDX     
    __asm pop EDX     
    __asm pop EAX      

    // Return result     

    return *(__int64 *)(&counter);  
}
Run Code Online (Sandbox Code Playgroud)

小智 6

把签名放在你的主要上面

__int64 GetCpuClocks();
Run Code Online (Sandbox Code Playgroud)