从中看来,该函数返回以Hz为单位的值
QueryPerformaceFrequency()
QueryPerformanceFrequency的单位
运行Intel Core i5-以2.8 G Hz运行
该函数似乎返回M Hz?
调试器中的值为1,328,261
我在这里想念什么?
错误使用该功能(如下)?
LARGE_INTEGER li;
QueryPerformanceFrequency(&li);
printf("Ticks: %f\n", double(li.QuadPart) );
QueryPerformanceFrequency返回性能计数器的频率,而不是CPU的时钟频率。尽管这似乎是一个普遍的误解,但它们并非同一回事。
该文档说,我的重点是:
指向接收当前性能计数器频率的变量的指针,以每秒计数为单位。
因此,您拥有的是以Hz为单位的性能计数器频率。
对于它的价值,如果那样的话,我不会打印。这是一个整数值。最好保持这种方式进行打印。因此,假设您使用的是MS编译器,则可以这样打印:
printf("Ticks: %I64d\n", li.QuadPart);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句