用C测量执行时间(在Windows上)

有比Windows上的clock()函数更好的函数或方法来测量时间吗? 我有一个简短的操作,当我尝试clock()gettickcount()它说,它需要0.0秒。 我需要一种方法来测量它以毫秒或纳秒。

Solutions Collecting From Web of "用C测量执行时间(在Windows上)"

您可以使用QueryPerformanceCounterQueryPerformanceFrequency

 #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获得纳秒精度。