⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mylog.h

📁 uclinux的进程间通信例子
💻 H
字号:
/*
 * this file provide log functionality
 * composed by antony 
 * 2003-1-1
 * copyright reserved
 */
/*
 *if PERFORMANCE is define check performance of program
 *define MACRO for log
 */

#ifndef __MYLOG__H_
#define __MYLOG__H_

#define LOG_MAX_LEN 512
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <iostream>
#include <fstream>
using namespace std;

#ifdef PERFORMANCE
	extern struct timeval timeTTStart;  //记录时间
	extern struct timeval timeTTNow;
	inline int my_check_start()
	{
		return gettimeofday(&timeTTStart, NULL);
	}
	int my_check_start();
	#define my_check_point(fmt,arg...) { \
		char mylogTmpString[LOG_MAX_LEN], tmpTime[20]; \
		gettimeofday(&timeTTNow,NULL); \
		sprintf(mylogTmpString,fmt,##arg); \
		sprintf(tmpTime,"sec[%02d]m_sec[%06d]", \
		(timeTTNow.tv_usec - timeTTStart.tv_usec)>0? \
		(timeTTNow.tv_sec - timeTTStart.tv_sec):(timeTTNow.tv_sec - timeTTStart.tv_sec-1), \
		(timeTTNow.tv_usec - timeTTStart.tv_usec)>0?\
			(timeTTNow.tv_usec - timeTTStart.tv_usec):(1000000+(timeTTNow.tv_usec - timeTTStart.tv_usec)) ); \
		cout<<tmpTime<<"F["<<__FILE__<<"]["<<__FUNCTION__<<"]L["<<__LINE__<<"]" \
		<<":["<<mylogTmpString<<"]"<<endl; \
	}
	#define mylog(fmt,arg...) 
	#define get_now_time(fmt,arg...)
#else
	#define my_check_start()
	#define my_check_point(fmt,arg...) 
	#define mylog(fmt,arg...) {	\
		char mylogTmpString[LOG_MAX_LEN], tmpTime[20];\
		get_now_time(tmpTime ,sizeof(tmpTime)); \
		sprintf(mylogTmpString,fmt,##arg);\
		cout<<tmpTime<<"F["<<__FILE__<<"]["<<__FUNCTION__<<"]L["<<__LINE__<<"]"\
		<<":["<<mylogTmpString<<"]"<<endl;\
	}
	inline int get_now_time( char *str, int len)
	{
		struct tm * lt;
		time_t tick;
		char str_time[20];
		tick=time(NULL);
		lt=localtime(&tick);
		int len_time;

		sprintf(str_time,"[%02d:%02d:%02d:%02d]",lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec);
		if(len <(len_time=strlen(str_time)))
		{
			str[0] = 0;
			return 0;
		}
		else
		{
			strcpy(str,str_time);
			return len_time;
		}
	}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -