本文共 925 字,大约阅读时间需要 3 分钟。
clock函数返回的值和CLOCKS_PER_SEC
存在密不可分的关系,如果只是
clock()/CLOCKS_PER_SEC返回的才是
秒
#include <string.h>
#include <sys/time.h>//gettimeofday
#include <unistd.h>
#include <ctime>
#include <iostream>
using namespace std;
int main()
{
struct timeval tv_time;
int i=0;
clock_t clock_start;
cout<<"CLOCKS_PER_SEC:"<<CLOCKS_PER_SEC<<endl;
clock_start=clock();
while(1)
{
/******************************///两种方式,计算程序运行的时间
//sleep(5);
/******************************///打印结果总是零
while( i<1000)
{
//gettimeofday(&tv_time,NULL);
usleep(1);
i++;
}
/******************************/
cout<<"Now time passed(s):"<<(clock()-clock_start)/CLOCKS_PER_SEC<<endl;
cout<<"Now time passed(ms):"<<(clock()-clock_start)<<endl;
i=0;
}
return 0;
}
/*解释:clock()函数是一个计算程序运行时间(其实简略的理解为占用CPU的使用时间)
*其实如果使用sleep函数,程序是放弃CPU的使用权,直到某个时间的到来,当然就不会
*存在占用CPU时间的时候,即使是一个计数的循环,对于CPU来说,也是微不足道的。
*
*/