printf实用封装

封装一:

#define my_debug_firmware printf
#define my_app_debug(x,y...) my_debug_firmware("app debug =>fun(%s)line:%d:->"x,__FUNCTION__,__LINE__,##y)
#define my_net_debug(x,y...) my_debug_firmware("net debug =>fun(%s)line:%d:->"x,__FUNCTION__,__LINE__,##y)

#define print_array_debug(data, datalength) 	do\
{\
    int i;\
	my_debug_firmware("datalen=%d.\r\n", datalength);\
	for (i = 0; i < datalength; i++) {\
		my_debug_firmware("%02X ",(unsigned char)data[i]);\
	}\
	my_debug_firmware("\r\n");\
}while(0)

#define print_string_debug(data, datalength) 	do\
{\
	int i;\
	my_debug_firmware("datalen=%d.\r\n", datalength);\
	for (i = 0; i < datalength; i++) {\
		my_debug_firmware("%c",(unsigned char)data[i]);\
	}\
	my_debug_firmware("\r\n");\
}while(0)

封装二:

#include <stdio.h>  
#include <stdarg.h>  
//系统宏定义 __FILE__ __FUNCTION__ __LINE__ __DATE__  __TIME__
void MyPrintf(const char *cmd, ...)  
{  
	struct timeval tv;
    gettimeofday(&tv,NULL);
    printf("MS: %ld ", tv.tv_sec*1000 + tv.tv_usec/1000);  
    printf("file:%s line:%s fun: %s -> ", __FILE__,__LINE__, __FUNCTION__);  
    va_list args;       //定义一个va_list类型的变量,用来储存单个参数  
    va_start(args,cmd); //使args指向可变参数的第一个参数  
    vprintf(cmd,args);  //必须用vprintf等带V的  
    va_end(args);       //结束可变参数的获取
    printf("\n");  
}  
#include<iostream>
#include <stdlib.h>
#include <stdio.h>
#include <sys/time.h>
#include <unistd.h>
int main(){
    struct timeval tv;
    /*
	函数说明int gettimeofday (struct timeval * tv, struct timezone * tz)
	1、返回值:该函数成功时返回0,失败时返回-1 
	2、参数 
	struct timeval{ 
	long tv_sec; //秒 
	long tv_usec; //微秒 
	}; 
	struct timezone 
	{ 
	int tz_minuteswest; //和Greenwich 时间差了多少分钟 
	int tz_dsttime; //日光节约时间的状态 
	};
	 */
    gettimeofday(&tv,NULL);
    printf("second:%ld\n",tv.tv_sec);  //秒
    printf("millisecond:%ld\n",tv.tv_sec*1000 + tv.tv_usec/1000);  //毫秒
    printf("microsecond:%ld\n",tv.tv_sec*1000000 + tv.tv_usec);  //微秒
 	sleep(1); 
    MyPrintf("test");
    return 0;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值