您的位置:首页 > 运维架构 > Linux

嵌入式 linux编程中自定义LOG宏示例

2014-01-11 23:12 441 查看
#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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: