有比Windows上的clock()
函数更好的函数或方法来测量时间吗? 我有一个简短的操作,当我尝试clock()
或gettickcount()
它说,它需要0.0秒。 我需要一种方法来测量它以毫秒或纳秒。
您可以使用QueryPerformanceCounter
和QueryPerformanceFrequency
:
#include <stdio.h> #include <stdlib.h> #include <windows.h> int main(void) { LARGE_INTEGER frequency; LARGE_INTEGER start; LARGE_INTEGER end; double interval; QueryPerformanceFrequency(&frequency); QueryPerformanceCounter(&start); // code to be measured QueryPerformanceCounter(&end); interval = (double) (end.QuadPart - start.QuadPart) / frequency.QuadPart; printf("%f\n", interval); return 0; }
您可以使用QueryPerformanceCounter结合QueryPerformanceFrequency获得纳秒精度。