#2020学习打卡##C程序设计语言# C语言中如何获取函数或程序段执行所花费的时间?

已邀请:

zkbhj - 凯冰科技站长

赞同来自:

可以使用如下函数~
#include<stdio.h>
#include<time.h>
#include<limits.h>

clock_t start, stop;
/* clock_t是clock()函数返回的变量类型 */
double duration;
/* 记录被测函数运行时间,以秒为单位 */
int main()
{
/* 不在测试范围内的准备工作写在clock()调用之前 */
start = clock(); /* 开始计时 */
MyFunction(); /* 把被测函数加在这里 */
stop = clock(); /* 停止计时 */
duration = ((double)(stop - start)) / CLK_TCK;
/* 计算运行时间 */
/* 其他不在测试范围的处理写在这里, 例如输出duration的值 */
return 0;
}


 函数clock():


捕捉从程序开始运行到clock()被调用时所耗费的时间。这个时间单位是clock tick,即“时钟打点”。


 
常数CLK_TCK:
 


机器时钟每秒所走的时钟打点数。


 
VC++6.0中time.h下宏定义的常量。其值为1000。VC++6.0中该符号常量定义如下:
#define CLOCKS_PER_SEC 1000

此外,VC++6.0中把TC2.0中time.h下宏定义的常量CLK_TCK也宏定义成CLOCKS_PER_SEC,这样TC2.0下值为18.2的CLK_TCK在VC6.0下值变为1000。该宏定义如下: 
#define CLK_TCK CLOCKS_PER_SEC
在程序中建议使用 CLOCKS_PER_SEC,因为CLK_TCK被认为已过时。
 
更多细节参考:https://docs.microsoft.com/zh- ... -2019

要回复问题请先登录注册