问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

clock()在C++中的作用是什么

发布网友 发布时间:2022-04-27 00:16

我来回答

1个回答

热心网友 时间:2022-06-21 13:38

C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
clock_t
clock(void)
;
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock
tick)数,在MSDN中称之为挂钟时间(wal-clock)。其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义:
#ifndef
_CLOCK_T_DEFINED
typedef
long
clock_t;
#define
_CLOCK_T_DEFINED
#endif
很明显,clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define
CLOCKS_PER_SEC
((clock_t)1000)
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
void
elapsed_time()
{
printf("Elapsed
time:%u
secs.\n",clock()/CLOCKS_PER_SEC);
}
当然,你也可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:
#include
“stdio.h”
#include
“stdlib.h”
#include
“time.h”
int
main(void)
{
long
i
=
10000000L;
clock_t
start,
finish;
double
ration;
/*
测量一个事件持续的时间*/
printf(
"Time
to
do
%ld
empty
loops
is
",
i
;
start
=
clock();
while(
i--
;
finish
=
clock();
ration
=
(double)(finish
-
start)
/
CLOCKS_PER_SEC;
printf(
"%f
seconds\n",
ration
;
system("pause";
}
在笔者的机器上,运行结果如下:
Time
to
do
10000000
empty
loops
is
0.03000
seconds
上面我们看到时钟计时单元的长度为1毫秒,那么计时的精度也为1毫秒,那么我们可不可以通过改变CLOCKS_PER_SEC的定义,通过把它定义的大一些,从而使计时精度更高呢?通过尝试,你会发现这样是不行的。在标准C/C++中,最小的计时单位是一毫秒。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以用电高压锅做蛋糕吗 蛋糕机选哪家实惠? 京东闪付开通后无法添加到applepay怎么办 二年级数学说课稿范文 苹果手机电充到80就不充了怎么回事 上有八,下有八中间有个十字花打一字 ...排名22000.能否上到广工的机械制造和自动化(卓越工程师班)_百度知 ... 把内存由DDR2升级到DDR3,是不是要设置什么东东啊。 怎样吧DDR2的内存条改成DDR3 ...的内存条是DDR2的,我想换DDR3的可以吗?该怎么换?还有该注意什么... C语言中,busclock是什么意思 _百度问一问 董事会纪要范本,董事会纪要需要董事签字吗 董事会的会议记录由谁保管? 苹果XR12的版本如何实现不去精准定位? 董事会议事、表决和会议记录有什么要求? 董事会会议记录谁来写 什么是董事会会议记录 CLOCK在集成块中是什么意思? 我的苹果xr手机丢了 今天突然查找定位被关闭了 是被破解了吗? 公司董事会有会议记录,形成了董事会纪要,还需要专门形成董事会决议吗?董事签字是签在哪里? 电脑开不开机CPU,CLOCK是怎么回事? 股东有权查阅董事会会议记录吗? 公司董事会会议记录 董事会会议纪要与董事会会议记录有什么不同? 女人祝福自己的话 董事会会议记录要怎么做啊? 女人做最好的自己句子 学校董事会会议纪要,如董事会记录 1、会议名称(如几届几次董 女人致最好自己的句子八个字 cup clock是什么意思 主板对电脑性能的影响? 孔子舞剧观后感100字? 孔子观后感500字 《孔子》观后感500字 孔子电影观后感800 电影《孔子》观后感!!急…… 《孔子》观后感 600字 帮忙提供几篇有关《孔子》(电影)的观后感,不少于600字。 孔子 观后感600字 《孔子》观后感一篇600字左右 孔子电影观后感600字 孔子观后感400字 歌舞剧《孔子》采微舞歌曲的歌词 成都个人住房公积金提取条件有哪些 狗爪子划出红印子有事吗 狗狗爪子抓红了一道印子? 狗狗爪子抓红了一道印子 被幼犬爪子划伤表皮轻微出血 被小狗的爪子划了点皮肤,有一条血痕,需要去打针吗?