C语言 计算/测程序运行时间(精确到微秒)

 平台:VS2010

#include<stdio.h>
#include <Windows.h>
int main() {
	int a[10002];
	int i = 0;
	double run_time;
	LARGE_INTEGER time_start;	//开始时间
	LARGE_INTEGER time_over;	//结束时间
	double dqFreq;		//计时器频率
	LARGE_INTEGER f;	//计时器频率
	QueryPerformanceFrequency(&f);
	dqFreq=(double)f.QuadPart;
	QueryPerformanceCounter(&time_start);	//计时开始
	for( i = 1; i <= 10000; i++)a[i]=i;	//要计时的程序
	QueryPerformanceCounter(&time_over);	//计时结束
	run_time=1000000*(time_over.QuadPart-time_start.QuadPart)/dqFreq;
	//乘以1000000把单位由秒化为微秒,精度为1000 000/(cpu主频)微秒
	printf("\nrun_time:%fus\n",run_time);
	return 0;
}

原文链接:https://blog.csdn.net/Bamboo_shui/article/details/78757281 

由于原文中代码有瑕疵无法运行,故进行调试之后运行成功。修改部分如下:

//w小写变大写
    #include <windows.h>
==>
    #include <Windows.h>


//删除前端下划线
    _LARGE_INTEGER time_start;	//开始时间
    _LARGE_INTEGER time_over;	//结束时间
==>
    LARGE_INTEGER time_start;	//开始时间
    LARGE_INTEGER time_over;	//结束时间

猜你喜欢

转载自blog.csdn.net/lizehao1973/article/details/85456872