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);
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 <...
参考博客: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) <