微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【整理】Linux 下 自己使用的 debug宏 printf

分享图片

#ifdef __DEBUG_PRINTF__
/*
*
* Some Debug printf kit for devlopment 
*
* Date   : 2019.03.04
*
* Editor : SCHIPS
*
*/

#include <stdio.h>
/* Debug with file name and line. */ 
#define DEBUG(format,...)           printf(""format"\n",##__VA_ARGS__ )
#define DEBUG_RED(format,...)       printf("\033[30m\033[31m"format"\033[0m\n",##__VA_ARGS__)
#define DEBUG_GREEN(format,...)     printf("\033[30m\033[32m"format"\033[0m\n",##__VA_ARGS__)
#define DEBUG_YELLOW(format,...)    printf("\033[30m\033[33m"format"\033[0m\n",##__VA_ARGS__)
#define DEBUG_PURP(format,...)      printf("\033[30m\033[35m"format"\033[0m\n",##__VA_ARGS__)
#define DEBUG_BLUE(format,...)      printf("\033[30m\033[36m"format"\033[0m\n",##__VA_ARGS__)

/* Debug printf infomration with color. */
#define DEBUG_FL(format,...)        printf("["__FILE__"](%05d) - %s]\n  "format"\n",__LINE__,##__VA_ARGS__,__FUNCTION__)

#define DEBUG_FLR(format,...)       printf("\033[30m\033[31m["__FILE__"](%05d) - %s]\n\033[0m  "format"\n",__FUNCTION__,##__VA_ARGS__)
#define DEBUG_FLG(format,...)       printf("\033[30m\033[32m["__FILE__"](%05d) - %s]\n\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_FLY(format,...)       printf("\033[30m\033[33m["__FILE__"](%05d) - %s]\n\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_FLP(format,...)       printf("\033[30m\033[35m["__FILE__"](%05d) - %s]\n\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_FLB(format,...)       printf("\033[30m\033[36m["__FILE__"](%05d) - %s]\n\033[0m  "format"\n",##__VA_ARGS__)


#define DEBUG_SFL(format,...)       printf("["__FILE__"](%05d) - %s]  "format"\n",__FUNCTION__)
#define DEBUG_SFLR(format,...)      printf("\033[30m\033[31m["__FILE__"](%05d) - %s]\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_SFLG(format,...)      printf("\033[30m\033[32m["__FILE__"](%05d) - %s]\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_SFLY(format,...)      printf("\033[30m\033[33m["__FILE__"](%05d) - %s]\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_SFLP(format,...)      printf("\033[30m\033[35m["__FILE__"](%05d) - %s]\033[0m  "format"\n",##__VA_ARGS__)
#define DEBUG_SFLB(format,...)      printf("\033[30m\033[36m["__FILE__"](%05d) - %s]\033[0m  "format"\n",##__VA_ARGS__)

#define SC_CLEAR() printf("\033[2J")

#if 0
    /* Another format to Print (Too ugly to me to use.)*/
    #define DEBUGA(fmt,args...)         printf("[%s(%05d) - %s]\n  "#fmt"\n",__FILE__,##args)
#endif

#else
#define DEBUG(format,...)
#define DEBUG_RED(format,...)
#define DEBUG_GREEN(format,...)
#define DEBUG_YELLOW(format,...)
#define DEBUG_PURP(format,...)
#define DEBUG_BLUE(format,...)

#define DEBUG_FL(format,...)
#define DEBUG_FLR(format,...)
#define DEBUG_FLG(format,...)
#define DEBUG_FLY(format,...)
#define DEBUG_FLP(format,...)
#define DEBUG_FLB(format,...)

#define DEBUG_SFL(format,...)
#define DEBUG_SFLR(format,...)
#define DEBUG_SFLG(format,...)
#define DEBUG_SFLY(format,...)
#define DEBUG_SFLP(format,...)
#define DEBUG_SFLB(format,...) 
#define SC_CLEAR(format,...) 
#endif
debug.h

分享图片

#include <stdio.h>

#if 1

//    To turn on/off Debug printf;
    #define __DEBUG_PRINTF__

#endif

#include "debug.h"

void fun1(void)
{
    DEBUG("DEBUG");
    DEBUG_RED("RED.");
    DEBUG_GREEN("GREEN.");
    DEBUG_YELLOW("YELLOW.");
    return ;  
}

void fun2(char* buff)
{
    int i = 0;
    DEBUG_FL("fun2");
    DEBUG_FLB("i = %d",i);
    DEBUG_FLR("buff = %s",buff);
    DEBUG_FLP("buff = %s",buff);
    return ;
}

void fun3(char* buff,int i)
{
    DEBUG_SFL("fun3");
    DEBUG_SFLB("i = %d",i);
    DEBUG_SFLR("buff = %s",buff);
    DEBUG_SFLP("buff = %s",buff);
    return ;
}
int main(void)
{
    SC_CLEAR();

    fun1();

    printf("---------\n");

    fun2("fun 2");
    
    printf("---------\n");

    fun3("fun3",3);

    return 0;
}
demo_main.c

分享图片

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐