📄 rdtsc.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -