zoukankan      html  css  js  c++  java
  • print to console or file

    /*----------------------------------------------------------------------*/
    /*              Debug for embeded board, 2008-2-26, Rain.               */
    /*----------------------------------------------------------------------*/
    #define  PRINT_DEBUG    1
    #define  UNDERLINE              "33[4m"
    #define  BLACK                  "33[30m"
    #define  RED                    "33[31m"
    #define  GREEN                  "33[32m"
    #define  YELLOW                 "33[33m"
    #define  BLUE                   "33[34m"
    #define  PURPLE                 "33[35m"
    #define  DARKGREEN              "33[36m"
    #define  WHITE                  "33[37m"
    #define  BG_BLACK               "33[40m"
    #define  BG_RED                 "33[41m"
    #define  BG_GREEN               "33[42m"
    #define  BG_YELLOW              "33[43m"
    #define  BG_BLUE                "33[44m"
    #define  BG_PURPLE              "33[45m"
    #define  BG_DARKGREEN           "33[46m"
    #define  BG_WHITE               "33[47m"
    #define  CLOSE                  "33[0m"
    #define cprintf(fmt, args...) do           
    {                                              
        FILE *fp1 = fopen("/dev/tty", "a");
        FILE *fp2 = fopen("/tmp/dbg.txt", "a");
        int  flag = 0;                         
        if (fp1 && (flag == 0 || flag == 2)) { 
            fprintf(fp1, fmt, ## args);    
            fclose(fp1);                   
        }                                      
        if (fp2 && (flag == 1 || flag == 2)) { 
            fprintf(fp2, fmt, ## args);    
            fclose(fp2);                   
        }
    } while (0)

    #ifdef  PRINT_DEBUG
    #define dbg(fmt, args...)   
        cprintf("==> CGI_DEBUG %s | %s %d | " fmt CLOSE, __FILE__, __FUNCTION__, __LINE__, ##args)
    #else
    #define dbg(fmt, args...)
    #endif
    /*----------------------------------------------------------------------*/

    /*----------------------------------------------------------------------*/
    /*              Debug for SSH terminal, 2008-2-26, Rain.                */
    /*----------------------------------------------------------------------*/
    #define  PRINT_DEBUG    1
    #define  UNDERLINE              "33[4m"
    #define  BLACK                  "33[30m"
    #define  RED                    "33[31m"
    #define  GREEN                  "33[32m"
    #define  YELLOW                 "33[33m"
    #define  BLUE                   "33[34m"
    #define  PURPLE                 "33[35m"
    #define  DARKGREEN              "33[36m"
    #define  WHITE                  "33[37m"
    #define  BG_BLACK               "33[40m"
    #define  BG_RED                 "33[41m"
    #define  BG_GREEN               "33[42m"
    #define  BG_YELLOW              "33[43m"
    #define  BG_BLUE                "33[44m"
    #define  BG_PURPLE              "33[45m"
    #define  BG_DARKGREEN           "33[46m"
    #define  BG_WHITE               "33[47m"
    #define  CLOSE                  "33[0m"
    #define cprintf(fmt, args...) do           
    {                                              
        char *dev = getenv("SSH_TTY");         
        FILE *fp1 = fopen(dev, "a");           
        FILE *fp2 = fopen("/tmp/dbg.txt", "a");
        int  flag = 0;                         
        if (fp1 && (flag == 0 || flag == 2)) { 
            fprintf(fp1, fmt, ## args);    
            fclose(fp1);                   
        }                                      
        if (fp2 && (flag == 1 || flag == 2)) { 
            fprintf(fp2, fmt, ## args);    
            fclose(fp2);                   
        }
    } while (0)

    #ifdef  PRINT_DEBUG
    #define dbg(fmt, args...)   
        cprintf("==> CGI_DEBUG %s | %s %d | " fmt CLOSE, __FILE__, __FUNCTION__, __LINE__, ##args)
    #else
    #define dbg(fmt, args...)
    #endif
    /*----------------------------------------------------------------------*/

  • 相关阅读:
    ITU 测试向量 下载地址
    转:数字集群移动通信系统技术体制综述及优选准则
    转:留一手教你在美国亚马逊网购
    离散度的测量(来自百度百科)与应用(自己理解)
    G.718的mos分
    【转】关于Alchemy
    Ogg Squish 0.98 源代码
    转:分布式视频编码关键技术及其发展趋势
    分布式视频编码概述与应用(来自百度百科)和WynerZiv Coding算法
    @PostConstruct和@PreDestroy注解在spring源码中生效的流程
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7352525.html
Copyright © 2011-2022 走看看