`
shaojiashuai123456
  • 浏览: 262657 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

c语言计时器

阅读更多

(1)my_time.h

#ifndef MY_TIME_H_
#define  MY_TIME_H_

typedef struct time_manager_t time_manager_t;
struct time_manager_t
{
                 void (*set_clock)(time_manager_t *this);
	 void (*cal_clock)(time_manager_t *this,char *where);	
	 void (*destroy)(time_manager_t *this);
};
time_manager_t *create_time_manager();

#endif

 

 

(2)my_time.c

 

#include "my_time.h"
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <malloc.h>
#include <sys/time.h>
//设置时间打印到的文件
#define MY_TIME_PATH "/root/time.txt"
typedef struct private_time_manager_t private_time_manager_t;

struct private_time_manager_t
{
          time_manager_t public;
	   FILE *file;
	   struct timeval start;
	   struct timeval end;
};

void  set_clock(private_time_manager_t *this)
{
         gettimeofday(&this->start,NULL);
}

void  cal_clock(private_time_manager_t *this,char *where)
{
         double timeuse;
         gettimeofday(&this->end,NULL);
	  //计算相隔时间,多减去3微妙,由于测试3微妙微计算的时间
	  timeuse = 1000000 * (this->end.tv_sec-this-> start.tv_sec ) + this->end.tv_usec-this->start.tv_usec-3;
         timeuse /= 1000000;
         fprintf(this->file,"%s:%f\n",where,timeuse);
}

void  destroy(private_time_manager_t *this)
{
        fclose(this->file);
	 free(this);
}

time_manager_t *create_time_manager()
{
	private_time_manager_t *this=(private_time_manager_t *)malloc(sizeof(private_time_manager_t));
       this->file=fopen(MY_TIME_PATH,"a+");
	if(this->file==NULL)
	{
	         printf("file open fail\n");
	         return NULL;
	}

	this->public.set_clock=(void (*)(time_manager_t *))set_clock;
	this->public.cal_clock=(void (*)(time_manager_t *,char *))cal_clock;	
	this->public.destroy=(void (*)(time_manager_t *))destroy;
	return &this->public;
}


void main()
{
        time_manager_t *this=create_time_manager();
        this->set_clock(this);  //设置开始时间点
     this->cal_clock(this,"a"); //设置结束时间点
}

 

  

分享到:
评论

相关推荐

    用C语言写的计时器(精确到秒)

    总的来说,创建一个精确到秒的C语言计时器涉及对C语言标准库中时间管理函数的理解,以及根据具体需求选择合适的时间获取方法。通过这个计时器,开发者可以在测试代码性能或进行定时任务时获得准确的时间信息。

    C语言倒计时器

    在本文中,我们将深入探讨如何使用C语言编写一个倒计时器程序。C语言是一种强大的、低级的编程语言,适合构建系统级和性能敏感的应用程序。倒计时器是日常生活中常见的一种实用工具,它可以帮助用户跟踪时间,通常...

    Linux下C语言编——计时器

    Linux 下 C 语言编程中的计时器 在 Linux 操作系统中,时间概念和计时器的使用是非常重要的。在 C 语言编程中,我们需要了解时间的表示、时间的测量和计时器的使用。 时间表示是指程序中对系统当前时间的输出。...

    单片机:c语言实现秒表计数(按键开始,结束,重置)

    这个计数器利用了定时器和外部中断的功能,以8号键作为开始/结束计时的触发器,C号键用于重置计时器到零。由于示例的限制,计时上限设定为15秒。 首先,我们需要了解单片机的基础知识。单片机是一种集成了微处理器...

    C语言计时程序

    C语言计时程序是通过使用C语言来实现一个简单的计时器,主要用于记录时间的流逝。下面是该程序的设计思想和实现细节: 首先,定义了一个时间结构体`struct tm`,其中包括小时、分钟、秒和10毫秒四个成员变量。然后...

    51单片机秒表计时器课程设计报告(含C语言程序)课程设计

    "51单片机秒表计时器课程设计报告(含C语言程序)课程设计" 该课程设计的目的是设计一个秒表计时器,采用51单片机实现,电路包括单片机最小系统部分、数码管显示部分、摁键开关部分。秒表计时器可以实现“开始”、...

    C语言编写的电子时钟计时器

    本项目是用C语言编写的一款电子时钟计时器,它提供了时间显示和计时功能,是学习C语言编程的一个很好的实践案例。 首先,我们来了解一下C语言的基本概念。C语言是一种结构化编程语言,它的语法简洁明了,允许直接...

    C语言计时和随机数的获取

    C语言计时和随机数的获取 本资源摘要信息涵盖了C语言中的计时和随机数获取两方面的内容。下面将对每个部分的知识点进行详细的解释。 一、获取系统运行的时间(ms) 在C语言中,可以使用GetTickCount函数来获取...

    辩论赛计时器

    "辩论赛计时器"是一款专为辩论比赛设计的计时工具,其主要功能是帮助组织者精确控制比赛时间,确保各个环节按时进行。这款计时器是基于Delphi编程语言开发的,Delphi是一种强大的面向对象的编程环境,以其高效、易用...

    计时器,C语言

    C语言,计数器

    C语言实现计时器:限制老鼠偷奶酪游戏时间的策略

    本文将介绍如何在C语言程序中实现计时器,以限制老鼠偷奶酪的时间,并探讨计时器在游戏中的应用。 在编程游戏中,尤其是像老鼠偷奶酪这样的策略游戏中,时间管理是一个重要的组成部分。通过在程序中添加计时器,可以...

    8255计时器应用(C语言编程)

    这个压缩包文件主要讲述了8255A作为计时器应用的实例,结合C语言编程进行详细讲解。 8255A具有三个8位的数据端口:Port A、Port B和Port C,以及控制端口。其中,Port C可以被配置为输入或输出,而Port A和Port B则...

    C语言easyx扫雷,.附带排行榜和计时器,支持自定义难度zip

    C语言+easyx库实现图形化扫雷游戏,附带排行榜和计时器,支持自定义难度与预设的三个难度,附带全部图像资源,注解详细,解压即可使用,欢迎初学者下载

    基于51单片机的篮球计时器(C语言实现)

    在本文中,我们将深入探讨如何使用51单片机,结合C语言来设计并实现一个篮球计时器。51单片机因其简单易用、性价比高而广泛应用于嵌入式系统开发,而C语言则因其强大的功能和广泛的适用性成为编写单片机程序的首选...

    139-实用99分钟倒计时器(51单片机C语言实例Proteus仿真和代码)

    139-实用99分钟倒计时器(51单片机C语言实例Proteus仿真和代码)139-实用99分钟倒计时器(51单片机C语言实例Proteus仿真和代码)139-实用99分钟倒计时器(51单片机C语言实例Proteus仿真和代码)139-实用99分钟倒计时器(51...

    C语言开发的黑白屏计时器

    自己开发的,很垃圾的计时器,能够倒计时,还有秒表,在黑白屏里运行

    倒计时程序 单片机c语言程序

    单片机c语言编写的60秒设置内任意时间倒计时程序。

    足球世界杯倒计时器、奥运会倒计时器的源代码

    足球世界杯倒计时器、奥运会倒计时器的源代码分析 在本篇文章中,我们将对足球世界杯倒计时器和奥运会倒计时器的源代码进行分析,并对其技术实现进行解读。 倒计时器的技术实现 倒计时器是一种常见的网页组件,...

    电子毫秒表计时器程序系统

    在电子毫秒表计时器程序系统中,我们主要探讨的是使用C语言开发的一个功能丰富的计时工具。这个系统不仅支持毫秒级别的精确计时,还具备秒级计时功能,同时提供了倒计时模式。当设定的时间到达时,系统会触发蜂鸣器...

Global site tag (gtag.js) - Google Analytics