debug gadget

//  Author: Daniel
//  Date: Apr.18, 2008
//Interface:
//  void get_start_time();
//  void get_end_time();
//  void time_print(module_name);
//  void print_once(void);
//  void write_to_file(char* file_name, void * buffer, size_t count);
//

#include <sys/time.h>
#include <stdio.h>
static struct timeval start_time, end_time, used_time, total_used_time;
static unsigned int count = 0;
void get_start_time(void)
{
  gettimeofday(&start_time, NULL);
}
void get_end_time(void)
{
  gettimeofday(&end_time, NULL);
}
void time_print(char * str)
{
printf("%s",str);
printf("TIME(Start:%d.%06ds, ", start_time.tv_sec, start_time.tv_usec);
printf("End:%d.%06ds, ", end_time.tv_sec,end_time.tv_usec);
if(end_time.tv_usec >= start_time.tv_usec){
  used_time.tv_sec = end_time.tv_sec - start_time.tv_sec;
  used_time.tv_usec = end_time.tv_usec - start_time.tv_usec;
  printf("Used:%d.%06ds, ", used_time.tv_sec, used_time.tv_usec);
}
else{
  used_time.tv_sec = end_time.tv_sec - start_time.tv_sec - 1;
  used_time.tv_usec = 999999 - (start_time.tv_usec - end_time.tv_usec);
  printf("Used:%d.%06ds, ", used_time.tv_sec, used_time.tv_usec);
}
         
++count;
total_used_time.tv_sec +=  used_time.tv_sec;
total_used_time.tv_usec += used_time.tv_usec;
printf("Average:%d.%06ds)/r", total_used_time.tv_sec / count,
                              total_used_time.tv_usec / count);
fflush(stdout);
}
//---------
void print_once(void)
{
static int print_once_flag = 1;
if(1 == print_once_flag) { printf("xxx/n"); print_once_flag = 0; }
}
//---------
#include <fcntl.h>
// O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_TRUNC, O_APPEND
void write_to_file(char* file_name, void * buffer, size_t count)
{
int file_id = 0, file_length = 0;
file_id = open(file_name, O_WRONLY | O_CREAT);
file_length = write(file_id, buffer, count);
close(file_id);
printf("(%d) bytes written to file:%s /n", file_length, file_name );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值