嵌入式 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
#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命令
- Linux makefile 教程
- [Linux]Fedora 20 虚拟机VirtualBox安装笔记
- Linux中用户管理详解(上)-Linux学习日记
- linux 学习好资源
- linux 学习好资源
- centos 遇到 sudo gem command not found
- 《Linux/UNIX系统编程手册》评论赠书活动
- 《Linux/UNIX系统编程手册》评论赠书活动
- fail2ban[防止linux服务器被暴力破解]
- linux 多线程面试题
- linux中的thread_info
- 嵌入式Linux之我行——ARM MMU工作原理剖析
- 安装vsftpd 让Windows下的CuteFTP ftp客户端访问 linux / ubuntu
- 在Linux桌面上随意使用Windows文档的方法
- centos-6更新yum源(163)
- centos-6更新yum源(163)
- S3C2440 Linux驱动移植——AT24C02(EEPROM)驱动
- linux命令说明
- 高版本linux3.3内核中没用i2c_attach_client