log宏与条件式编译

debug 时可以使用log 宏来来查找;

#include<stdio.h>
#ifdef DEBUG
#define log(frm, args...) {\  // frm 为格式, args 为变参列表;
    printf("[%s : %s : %d] ", __FILE__, __func__, __LINE__);\
    printf(frm,##args);\ //## ,两个##表示连接;
    printf("\n");\
}
#else
#define log(frm, args...)
#endif

#define contact(a,b) a##b // 将a 和 b 连接在一起;
int main() {
    int a = 123;
    int b = 234;
    int abc, def;
    int abcdef = 0;
    printf ("[%s : %s : %d] a = %d\n", __FILE__, __func__, __LINE__, a);
    log("b = %d", b);
    printf ("Hello world\n");
    log ("Hello world");
    contact(abc, def) = 112233;
    log ("%d", abcdef);


    return 0;
}

当debug 完成之后,可以使用条件式编译;
#ifdef DEBUG
如果定义了debug 宏, 则往下执行,否则执行#else 后面的语句;
没有定义DEBUG时,log 宏不会被执行,可在#ifdef DEBUG 前加上 #define DEBUG;
也可直接编译,gcc -DDEBUG log.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值