一个让程序暂停的程序的实现
来源:互联网 发布:2016网络电视剧排行榜 编辑:程序博客网 时间:2024/06/17 13:36
最近在看《21天学通C语言》,看到了一个暂定程序,很惊奇。。。但是看了后,也就那回事,但是貌似很有用,那就来分享下吧。
clock()是C/C++中的计时函数,该函数返回值是硬件滴答数,要换算成秒或者毫秒,需要除以CLK_TCK或者 CLOCKS_PER_SEC。
而与其相关的数据类型是clock_t,clock_t其实就是long,即长整形。
其中clock_t是用来保存时间的数据类型,typedef long clock_t
clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:
#define CLOCKS_PER_SEC ((clock_t)1000)
在MSDN中,查得对clock函数定义如下:
clock_t clock(void) ;
这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick滴答)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。
程序用例:
#include <stdio.h>
#include <time.h>
#include<stdlib.h>
#include<windows.h>
#include <math.h>
//void sleep( clock_t wait );
void
main(
void
)
{
long
i = 600000L;
clock_t start, finish;
double
duration;
double
a;
/* 等三秒 */
printf(
"Delay for 3 seconds\n"
);
// sleep( (clock_t)3 * CLOCKS_PER_SEC );//强制类型转换
_sleep(3000);
//这种方式也可以,所属库: stdlib.h 函数功能: 实现延时,单位为毫秒。
//1000毫秒是1秒。 在VS2005中如果使用该函数会有提示:
//这个函数将在未来的库中舍弃,请用Sleep函数来代替。
//Sleep(3000);
printf(
"Done!\n"
);
/* Measure the duration of an event. */
printf(
"Time to do %ld loops is "
, i );
start = clock();
while
( i-- ) {
a = sqrt(sqrt(16.0)); a = sqrt(sqrt(16.0));
}
finish = clock();
duration = (
double
)(finish - start) / CLOCKS_PER_SEC;
printf(
"%lf seconds\n"
, duration );
}
/* 等待多少毫秒的子程序
void sleep( clock_t wait )
{
clock_t goal;
goal = wait + clock();
while( goal > clock() )
;
}*/
- 一个让程序暂停的程序的实现
- 如何让程序暂停指定的时间?
- 让程序暂停的几种方法
- c实现程序暂停的方法
- 让程序暂停
- js----让程序暂停
- 让c++程序暂停的方法有哪些?
- 让正执行的程序暂停几秒钟
- 程序的暂停sleep(),wait()
- Sql Server中让程序暂停几秒中,再执行后面的命令!(示例)
- Sql Server中让程序暂停几秒中,再执行后面的命令!
- 关于一个程序的“开始——暂停——继续”的一个问题
- VB 给你的程序提供暂停功能
- 使程序暂停的3种方法
- 49 C语言程序的暂停
- 实现的一个聊天程序
- 一个more程序的实现
- 让asp.net程序执行时暂停
- 批处理find
- telnet 命令
- IO - 同步,异步,阻塞,非阻塞
- C++对ANSI UNICODE的支持
- 项目中常见的SQL处理总结【一】
- 一个让程序暂停的程序的实现
- poj1573(模拟bfs)
- Java线程
- 金地班车
- 浅谈协方差矩阵
- linux设备驱动之我是led灯-基于OK6410开发板
- [算法] 找到最相邻的3元组
- 打造完美Linux 嵌入式学习路线
- 笔试题(C基础)