rdtsc.h
来自「加密认证联合模式的源代码」· C头文件 代码 · 共 39 行
H
39 行
#ifndef RDTSC_H
#define RDTSC_H
#if defined( _MSC_VER )
#if defined( _WIN64 )
#include <intrin.h>
#pragma intrinsic( __rdtsc )
__inline volatile unsigned long long read_tsc(void)
{
return __rdtsc();
}
#else
__inline volatile unsigned long long read_tsc(void)
{ unsigned long lo, hi;
__asm cpuid __asm rdtsc __asm mov [lo],eax __asm mov [hi],edx ;
return (((unsigned long long)hi) << 32) + lo;
}
#endif
#elif defined( __GNUC__ )
__inline volatile unsigned long long read_tsc(void)
{ unsigned long lo, hi;
asm volatile("cpuid; read_tsc" : "=a" (lo), "=d" (hi));
return (((unsigned long long)hi) << 32) + lo;
}
#else
#error A high resolution timer is not available
#endif
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?