zoukankan      html  css  js  c++  java
  • 应用_Printf Dbug 终极奥义


    #include<stdio.h>
    
    #define BUG_POWER
    #ifdef BUG_POWER
    
    #define ENTRY   5
    #define DEBUG   4
    #define INFO    3
    #define WARN    2
    #define ERROR   1
    #define PRINT_LEVEL ENTRY
    
    #define pri(Level, ...)                                   
            do{                                                
                if(Level <=PRINT_LEVEL){                    
                    printf( "["#Level"] " __VA_ARGS__ );    
                }                                            
            }while(0);
            
    #define pri_err(...)    pri(ERROR,##__VA_ARGS__)
    #define pri_warn(...)   pri(WARN, ##__VA_ARGS__)
    #define pri_info(...)   pri(INFO, ##__VA_ARGS__)
    #define pri_bug(...)    pri(DEBUG,##__VA_ARGS__)
    #define pri_entry(inout) pri(ENTRY, "%s() %s", __func__, #inout)        
    
    #else
    
    #define pri_err(...)      
    #define pri_warn(...)     
    #define pri_info(...)     
    #define pri_bug(...)      
    #define pri_entry(inout)  
    
    #endif
    
    
    int main(void)
    {
        pri_bug ("FILE:%s FUN:%s LINE:%d DATE:%s TIME:%s  text ok!
    ", __FILE__,  __FUNCTION__, __LINE__, __DATE__, __TIME__);
        pri_info("FILE:%s FUN:%s LINE:%d DATE:%s TIME:%s  text ok!
    ", __FILE__,  __FUNCTION__, __LINE__, __DATE__, __TIME__);
        pri_warn("FILE:%s FUN:%s LINE:%d DATE:%s TIME:%s  text ok!
    ", __FILE__,  __FUNCTION__, __LINE__, __DATE__, __TIME__);
        pri_err ("FILE:%s FUN:%s LINE:%d DATE:%s TIME:%s  text ok!
    ", __FILE__,  __FUNCTION__, __LINE__, __DATE__, __TIME__);    
    
        return 0;
    }

    Stay hungry, stay foolish 待续。。。
  • 相关阅读:
    学完这 4 个小技巧,让你的移动端交互体验更加优秀
    Angular 项目搭建
    需求分析--分析需求
    需求分析--收集需求
    黑苹果+win 双系统 单硬盘安装
    小程序反编译
    计算机硬件基础(软考-网络中级)
    intellij idea 使用教程
    idea安装步骤
    volatile能保证有序性
  • 原文地址:https://www.cnblogs.com/panda-w/p/14728185.html
Copyright © 2011-2022 走看看