首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言中的测量程序运行时间的函数是什么?如何用?高手指教,

2012-02-27 
C语言中的测量程序运行时间的函数是什么?怎么用?高手指教,急!!!C语言中的测量程序运行时间的函数是什么?怎

C语言中的测量程序运行时间的函数是什么?怎么用?高手指教,急!!!
C语言中的测量程序运行时间的函数是什么?怎么用?


[解决办法]
应该没有专门的函数用来测量程序运行时间,一般的做法是获取程序开始运行的时间和运行结束的时间,两者之差便是。
time.h中的time函数获取系统当前的时间,用法如下:
time_t tm;
time(&tm); //其中tm就是当前系统时间,精确到秒
windows下面的有mmsystem.h中的timeGetTime函数,windows.h中的GetTickCount函数,其用法都一样,都是获取系统当前时间,只是精确度不同而已。
当然精确度最高的还数windows.h下的QueryPerformanceFrequency和QueryPerformanceCounter两个函数的组合来计算时间精度。其用法就稍微麻烦些:
LARGE_INTEGER nFreq;
LARGE_INTEGER nBeginTime;
LARGE_INTEGER nEndTime;
QueryPerformanceFrequency(&nFreq); // 获取时钟频率
QueryPerformanceCounter(&nBeginTime); // 获取时钟计数
............. //在这里执行些任务
QueryPerformanceCounter(&nEndTime);
nEndTime.QuadPart-nBeginTime.QuadPart/nFreq.QuadPart就是两次的时间差。
[解决办法]
更正一下:
应该是(nEndTime.QuadPart-nBeginTime.QuadPart)/nFreq.QuadPart
[解决办法]
呵呵
好详细啊
学习了.

还有其他方法吗?
[解决办法]
这个你看可不可以
#include <stdio.h>
#include <time.h>
#include <sys/timeb.h>

int main()
{
struct timeb tp;
struct tm * tm;


ftime ( &tp );
tm = localtime ( & ( tp.time ) );

printf ( "%02d:%02d:%02d:%03d\n ", ( tm -> tm_hour ) , ( tm -> tm_min ) ,
( tm -> tm_sec ), ( tp.millitm ) );


}

热点排行