- #include <stdio.h>
- #include <time.h>
- #include <windows.h>
-
- void main()
- {
- clock_t start , finish;
-
- start = clock();
- Sleep(23);
- finish = clock();
-
-
- double elapsed_time;
- elapsed_time = (finish - start) / (double)CLOCKS_PER_SEC;
- printf("%lf\n",elapsed_time);
- }
一、使用time.h中clock函数 windows
- #include "stdio.h"
- #include "time.h"
-
- int main(int argc, char ** argv)
- {
- time_t time1, time2;
- time1 = time((time_t *)NULL);
- //your code
- time2 = time((time_t *)NULL);
- printf("%f\n", difftime(time2, time2));
- return 0;
- }
二、使用time和difftime函数 app
以上这两种方式,处理测试代码时,结果都是0.000000,不是我想要的结果 函数
用LARGE_INTEGER查看系统运行时间,运行结果能够达到毫秒级 测试
三、使用LARGE_INTEGER spa
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h> // 注意,该功能须要调用windows.h
-
-
- void main()
- {
- int i;
- long sum=0;
-
- double d;
- LARGE_INTEGER Freg;
- LARGE_INTEGER Count1, Count2;
-
- QueryPerformanceFrequency(&Freg); // 调用API函数,这个API函数但是优先级0的函数啊. 获得系统计数器频率
- QueryPerformanceCounter(&Count1); // 获取时间一
-
- for(i=1;i<=500;i++) // 执行程序。
- sum=sum+i;
-
- QueryPerformanceCounter(&Count2); // 获取时间二
- d = (double)(Count2.QuadPart - Count1.QuadPart) / (double)Freg.QuadPart * 1000.0;
- // 获得的d为时间差,单位为毫秒。
-
- printf("The time is %f, and the sum is %d\n",d,sum);
- }