否。您必须使用特定于平台的代码来执行此 *** 作。在x86和x86-64上,您可以使用’rdtsc’读取时间戳计数器。
只需移植您正在使用的rdtsc程序集。
__inline__ uint64_t rdtsc(void) { uint32_t lo, hi; __asm__ __volatile__ ( // serialize "xorl %%eax,%%eax n cpuid" ::: "%rax", "%rbx", "%rcx", "%rdx"); __asm__ __volatile__ ("rdtsc" : "=a" (lo), "=d" (hi)); return (uint64_t)hi << 32 | lo;}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)