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)
在linux系统下,CLOCKS_PER_SEC的值可能有所不同,目前使用的linux打印出来的值是1000000,表示的是微秒。这一点需要注意。
可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,你可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:
void elapsed_time()
{
printf(Elapsed time:%u secs.\n,clock()/CLOCKS_PER_SEC);
}
当然,你也可以用clock函数来计算你的机器运行一个循环或者处理其它事件到底花了多少时间:
#include
#include
#include
int main(void)
{
long i = 10000000L;
clock_t start, finish;
double duration;
/* 测量一个事件持续的时间*/
printf( Time to do %ld empty loops is , i) ;
start = clock();
while( i-- );
finish = clock();
duration = (double)(finish - start) / CLOCKS_PER_SEC;
printf( %f seconds\n, duration );
system(pause);
}
Linux下查找指定时间内修改过的文件
1、grep命令 (global search regular expression(RE) and print out the line, 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。对于文件时间特征没有直接的参数可以使用。2、根据文件时间特征来搜索特定文件,一般使用find命令。find命令和文件时间特征相关的参数如下:-mtime -n +n按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。-amin n查找系统中最后N分钟访问的文件-atime n查找系统中最后n*24小时访问的文件-cmin n查找系统中最后N分钟被改变文件状态的文件-ctime n查找系统中最后n*24小时被改变文件状态的文件-mmin n查找系统中最后N分钟被改变文件数据的文件-mtime n查找系统中最后n*24小时被改变文件数据的文件示例:(1)find / -amin -10 # 查找在系统中最后10分钟访问的文件(access time)(2)find / -atime -2 # 查找在系统中最后48小时访问的文件(3)find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件(modify time)(4)find / -mtime -1 #查找在系统中最后24小时里修改过的文件