C\C++中计时、延时函数
2016-11-06 18:25
489 查看
C\C++标准库中提供了两种计时函数clock()和time()。其用法如下:
(1)clock()函数用法
clock()函数返回值类型为clock_t.该函数计算结果是以内部处理器时间为计量单位的,所以必须把它除以时钟频率,从而得到以秒为单位的时间。这种方法在机器上测量的很精确。在这里Windows和Linux环境下会有所区别.
Linux环境下,处理器内部时间频率为:CLOCKS_PER_SEC.
(2)time()函数用法
time()函数返回值类型为time_t,所以也需要在输出前将其转换为double类型。与clock不同的是time()函数有一个参数,用来说明存放时间信息的位置。由于并不想保存这个时间,所以将参数设置为NULL。但是这种计时方法不如clock()函数精确,但是它不需要有关时钟频率的信息。
(3)延时函数
在标准库中可以使用Sleep()函数进行延时,其单位是毫秒,如果想要延迟5秒则其方法如下:
在MFC中也可以使用_sleep()函数进行实现延时功能。在Windows环境下,Sleep()函数首字母大写,而在Linux系统下sleep()函数首字母要小写。在Linux系统中sleep()函数的单位是秒而不是毫秒,而在Windows环境下Sleep()函数是以毫秒为单位。这是两者之间的区别。
Windows环境下计时延时函数代码如下:
运行结果如图所示:
![](http://img.blog.csdn.net/20161106181644305)
Linux环境下代码如下:
运行结果如图所示:
![](http://img.blog.csdn.net/20161106182306501)
感兴趣的小伙伴可以在Linux环境下试一下clock()函数,目瞪口呆!!!
(1)clock()函数用法
void timeConsume() { double start,stop,durationTime; start = clock(); /* ...代码片段 */ stop = clock(); 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()函数,目瞪口呆!!!
相关文章推荐
- linux和windows下,C/C++开发的延时函数,sleep函数
- 【C/C++】计时函数比较
- C/C++计时函数归纳
- 【C/C++】计时函数比较
- C++ 的延时函数
- C/C++中的计时函数 (转)
- linux和windows下,C/C++开发的延时函数,sleep函数
- 【C/C++】计时函数比较
- C++中的延时函数
- c++ 计时函数的使用
- C/C++ 各种计时函数总结
- 树莓派高级GPIO库,wiringpi2 for python使用笔记(二)高精度计时、延时函数
- 【c++】计时函数
- c++计时函数比较
- C_C++ 各种计时函数
- C++中的延时函数
- C/C++程序计时函数gettimeofday的使用
- C++中延时函数
- 【C/C++】计时函数比较
- C++之延时函数的研究