【发布时间】:2010-08-09 11:35:07
【问题描述】:
LARGE_INTEGER lpPerformanceCount, lpFrequency;
QueryPerformanceCounter(&lpPerformanceCount);
QueryPerformanceFrequency(&lpFrequency);
(Count.QuadPart 是一个很长的显示 CPU 计数的 long)
(Freq.QuadPart是一秒的Count的长长显示频率)
尝试实时打印微秒。
稳定输出:
printf("%llu\n", ((long double)lpPerformanceCount.QuadPart/ lpFrequency.QuadPart) * 1000000);
不稳定的输出:(结果前后不连贯地跳跃,即使乍一看是正常的)
printf("%llu\n", 1000000 * (lpPerformanceCount.QuadPart / lpFrequency.QuadPart) + (lpPerformanceCount.QuadPart % lpFrequency.QuadPart));
编辑:printf 在其输入中需要进一步(无符号长长)转换,原始代码通过函数的返回值完成。
【问题讨论】: