c++条件编译输出日志

在编写代码的时候,为了调试bug,我们会输出很多日志信息,当产品要发布的时候,我们可以把日志信息去除。最好的办法就是

//
// Created by fuhong on 20-12-10.
//
#include <iostream>
#include <stdio.h>
#include <string.h>

#define DEBUG

#ifdef DEBUG
#define filename(x) strrchr(x,'/')?strrchr(x,'/')+1:x

#define LOG(frm, args...) {\
    printf("\033[0;33m[%s : %s : %d] \033[0m",filename(__FILE__),__func__,__LINE__);\
    printf(frm,##args);\
    printf("\n");\
}

#else

#define LOG(frm, args...)

#endif


int main() {
    LOG("test");
    return 0;
}

CMakeLists.txt

cmake_minimum_required (VERSION 2.8)

project (Demo1)

#if(DEFINED DEBUG)
#    message("DEBUG_LOG is defined")
#else()
#    message("DEBUG_LOG is not defined")
#endif()

option(DEBUG "ON for debug or OFF for release" ON)
IF(DEBUG)
    message("DEBUG is defined")
    add_definitions(-DDEBUG)
else()
    message("DEBUG is not defined")
ENDIF()

add_executable(log log.cpp)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值