码迷,mamicode.com
首页 > 其他好文 > 详细

c->log技巧

时间:2019-02-13 11:16:25      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:return   lis   def   sprint   ons   tar   技巧   roc   tle   

介绍:

 

  在C代码里,有时会加入一些打印信息方便分析问题,可用如下代码替代打印函数,更加方便。

 

//
// Created by lady on 18-12-10.
//


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define DEBUG

#ifdef DEBUG
#include <stdarg.h>
#define LOG(args...) _log_(__FILE__, __FUNCTION__, __LINE__, ##args);
static void _log_(const char *file, const char *function, int line, const char * format, ...)
{
    char buf[1024] = {0};
    va_list list;
    va_start(list, format);
    sprintf(buf, "[%s,%s,%d]", file, function, line);
    vsprintf(buf+strlen(buf), format, list);
    sprintf(buf+strlen(buf), "\n");
    va_end(list);
    printf(buf);
}
#else
#define LOG
#endif // DEBUG

int main(int argc, char *argv[])
{
    LOG("test1");
    return 0;
}

 

/home/lady/CLionProjects/untitled/cmake-build-debug/untitled
[/home/lady/CLionProjects/untitled/main.c,main,48]test
[/home/lady/CLionProjects/untitled/main.c,main,49]test1

Process finished with exit code 0

 

c->log技巧

标签:return   lis   def   sprint   ons   tar   技巧   roc   tle   

原文地址:https://www.cnblogs.com/aimmiao/p/10368329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!