否。您必须使用特定于平台的代码来执行此操作。在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;}


