durationTime = ((double)( stop -start))/CLK_TCK; cout << "程序耗时:" << durationTime << " s" << endl;

clock()函数返回值类型为clock_t.该函数计算结果是以内部处理器时间为计量单位的,所以必须把它除以时钟频率,从而得到以秒为单位的时间。这种方法在机器上测量的很精确。在这里Windows和Linux环境下会有所区别.
Linux环境下,处理器内部时间频率为:CLOCKS_PER_SEC.

(2)time()函数用法

void timeConsume()
    double start,stop,durationTime;
    start = time(NULL);
    ...代码片段
    stop = time(NULL);
    durationTime = (double)difftime(stop, start);
    cout << "程序耗时:" << durationTime << " s" << endl;

time()函数返回值类型为time_t,所以也需要在输出前将其转换为double类型。与clock不同的是time()函数有一个参数,用来说明存放时间信息的位置。由于并不想保存这个时间,所以将参数设置为NULL。但是这种计时方法不如clock()函数精确,但是它不需要有关时钟频率的信息。

(3)延时函数

在标准库中可以使用Sleep()函数进行延时,其单位是毫秒,如果想要延迟5秒则其方法如下:

Sleep(5*1000);

在MFC中也可以使用_sleep()函数进行实现延时功能。在Windows环境下,Sleep()函数首字母大写,而在Linux系统下sleep()函数首字母要小写。在Linux系统中sleep()函数的单位是秒而不是毫秒,而在Windows环境下Sleep()函数是以毫秒为单位。这是两者之间的区别。

Windows环境下计时延时函数代码如下:

#include <iostream>
#include <Windows.h>
using namespace std;
int main()
    double start, stop, durationTime;
    start = clock();
    Sleep(5 * 1000);    //程序延时5s
    stop = clock();
    durationTime = ((double)(stop - start)) / CLK_TCK;
    cout << "总耗时:" << durationTime << endl << endl;
    return 0;

运行结果如图所示:
这里写图片描述

Linux环境下代码如下:

#include <iostream>
#include <unistd.h>
using namespace std;
int main()
    double startTime,stopTime,durationTimeTime;
    startTime=time(NULL);
    sleep(5);
    stopTime=time(NULL);
    durationTimeTime = (double)difftime(stopTime,startTime);
    cout << "耗时(time): " << durationTimeTime << " s" << endl;
    return 0;

运行结果如图所示:
这里写图片描述

感兴趣的小伙伴可以在Linux环境下试一下clock()函数,目瞪口呆!!!

https://blog.csdn.net/zhengchaoqiang/article/details/78867445 使用sleep()函数将程序阻塞,头文件在windows系统和linux系统下是不一样的 windows Sleep() #include <windows.h> 参数为毫秒 linux sleep() 函数原型 #include &lt... 参考博客:https://blog.csdn.net/tangweide/article/details/7063747,自己整理可得如下 一、使用window自带的系统环境来进行延时,就是直接加上头文件:#include <Windows.h> 然后就是在需要使用的地方直接加上:Sleep(1000);这样的形式来进行判断,使用如下所示: 在qt的工程,隔一秒来打印一个数据,... 学习体会:对一个问题举一反三的不断优化,是对知识点的掌握的巩固与拓展,保证一定学习效率的情况下,可以有利于对相关知识的理解与领悟。3.对零碎的知识点的整合能力,稍加欠缺,日后复习可能会增加难度。的代码学习,并根据自己的理解编写代码,最后整合学习的代码和自己理解的代码,编写出更优的代码。2.对知识点的掌握、理解较为到位。学习总结:1.学习效率还是偏低,对时间的把握有待提高。学习时间:早上9点~晚上9点。学习内容:利用c语言对。 1. c语言延时函数delay,怎么算延时下面是delay 函延迟函数里执行的都是空语句,也就是说通过循环执行空语句来达到延迟的目的.每执行一条语句,即使是空语句都要耗费电脑一些处理时间的,就是因为这个,在延迟函数里写一些无关紧要的东西,用来浪费电脑处理时间,从而达到延迟目的。数原型:原型:void Delay(unsigned int nDelay){unsigned int i,j,k;... 原博文链接在我的官方网站,网址是:http://www.aobosir.com/blog/2017/02/05/cpp-sleep/方法一在Linux下,我们这样使用:#include <iostream> #include <unistd.h>int main(void){ while(1){ std::cout << "Hello World!" << std::endl VC的Sleep函数在延时应用很好用,比如通信程序,一方需等待另一方若干个毫秒后再处理,或者在死循环,让出CPU不至于资源占用100%等等; 但是,在界面操作不要使用Sleep函数,比如按钮事件,不要调用这个函数,否则会出现意外的情况!!那么如何处理延时一段时间执行呢?使用定时器,将按钮事件调用Sleep函数的地方,改为启动一个一段时间执行后的定时器:SetTimer(定时器编号... 官方库延时函数误差太大,近2倍,在此基于嘀嗒定时器做了毫秒、微妙级别的两个延时函数。 1、可用在IO口模拟串口等要求时序操作的场景,如DHT11单总线、模拟I2C、SPI等。已经在温湿度传感器DHT11上做了测试。 2、例程time.c" 创建了 系统节拍模型,可用来实现 某些函数 每间隔一定时间运行1次 的功能。可实现 【时间片轮】模型的 单片机系统结构,执行效率高,避免阻塞延时 程序实现延时有很多种办法,但是有些不建议用。比如还在用sleep()或者空转计数的方式延时?要么移植性不好,要么不够精确且效率太低。这里总结下现代c++推荐的一种实现精确延时的方法。 #include <time.h> /* 调用时务必加上该头文件 */ // 自定义的一个延时函数delay() void delay(int seconds) // 参数必须为整型,表示延时多少秒 clock_t start = clock(); clock_t lay = (clock_t)seconds * CLOCKS_PER_SEC; while ((clock()-start) &lt