#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <stdarg.h>
#ifdef _DEBUG_JOSEPH
#define _DEBUG_WIFI_KJ
#else
#endif
/*
author : kj
time : 2013-12-06 21:36
instruction:
get the num of the current seconds
*/
int get_current_time_to_jms(char *buf)
{
struct tm *tmnow;
struct timeval tv;
gettimeofday(&tv,NULL);
tmnow = localtime(&tv.tv_sec);
sprintf(buf,"%04d-%02d-%02d %02d:%02d:%02d",\
tmnow->tm_year+1900, tmnow->tm_mon+1, tmnow->tm_mday,tmnow->tm_hour,\
tmnow->tm_min, tmnow->tm_sec);
return tv.tv_sec;
}
int personal_print(const char *format, ...)
{
#ifdef _DEBUG_WIFI_KJ
char now_time[32];
char s[1024];
char content[1024];
bzero(content,1024);
bzero(now_time,32);
va_list arg;
va_start (arg, format);
vsprintf (s, format, arg);
va_end (arg);
get_current_time_to_jms(now_time);
sprintf(content,"%s %s",now_time,s);
printf("%s",content);
#else
return 0;
#endif
}
int main()
{
char buf[32]="kj";
personal_print("%s %d The content of buf is %s\n",__FUNCTION__,__LINE__,buf);
return 0;
}
Compile:
gcc -D_DEBUG_JOSEPH -o macro_printf macro_printf.c
本文展示了如何在嵌入式Linux环境中使用自定义LOG宏进行调试,通过示例代码解释了宏定义及其在调试时的时间戳记录功能。在main函数中调用personal_print宏打印相关信息。

1601

被折叠的 条评论
为什么被折叠?



