软件项目工程中的调试技巧

#define FUN_DEBUG 0

#define ARG_DEBUG 0

#define ERR_DEBUG 0


#if FUN_DEBUG

    #define FUN_IN(fmt, args...)  printf("====>%s()"fmt"\n",  __func__,  ##args)

    #define FUN_OUT(fmt args...)   printf("<====%s()"fmt"\n",  __func__, ##args)

#else

    #define FUN_IN(fmt, args...)

    #define FUN_OUT(fmt args...)

#endif


/**********************************/

或者:

#if FUN_DEBUG

    #define FUN_IN(fmt, ...)  printf("====>%s()"fmt"\n",  __func__,  ##__VA_AGRS__)

    #define FUN_OUT(fmt, ...)   printf("<====%s()"fmt"\n",  __func__, ##__VA_AGRS__)

#else

    #define FUN_IN(fmt, ...)

    #define FUN_OUT(fmt, ...)

#endif


/**********************************/


#if ARG_DEBUG

    #define PRINT_ARG(fmt, args...)  printf("%s()"fmt"\n",  __func__, ##args)

#else

#define PRINT_ARG(fmt, args...)

#endif


#if ERR_DEBUG

    #define PRINT_ERR(fmt, args...)  \

    do \

    { \

    printf("\033[5;41;32m [ERROR] ---> %s():line[%d]:\033[0m\n", __func__, __LINE__); \

    printf(" "fmt, ##args); \

    }while(0)

#else

#define PRINT_ERR(fmt, args...)            

#endif



Note: #if 和 #ifdef 的区别

#if 是判断表达式是否为真来决定编译哪一个部分, #ifdef是主要参数被#define定义过 则编译下面代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN的软件工具库项目是一个面向开发人员和软件工程师的综合性平台,旨在提供丰富的软件工具资源,帮助开发人员提升开发效率和工程质量。 首先,CSDN软件工具库项目是一个集成了各种常用工具的平台。在这个平台上,开发人员可以找到各种编码工具、调试工具、测试工具等等,包括IDE、代码托管平台、版本控制系统以及各类开发辅助工具。这些工具经过分类整理,使得开发人员可以更加方便地找到自己所需要的工具,并且可以根据评价和使用人数对工具进行筛选,帮助用户选择合适的工具。 其次,CSDN软件工具库项目提供了丰富的教程和学习资源。在该平台上,用户可以找到各种与软件工具相关的教程和文章。这些文章涵盖了从工具的基础使用到高级应用的各个方面,帮助用户更好地了解和使用工具。同时,用户也可以通过分享自己的经验和教程来帮助其他人,形成了一个良好的学习和交流平台。 除此之外,CSDN软件工具库项目还提供了开发者社区功能。开发人员可以在这个社区与其他人交流和分享自己的经验,讨论各种软件工具的使用技巧和问题解决方案。这个社区还可以作为一个招聘平台,开发人员可以在上面找到工作机会或者招募合适的开发人才。 总之,CSDN软件工具库项目通过集成各种常用工具、提供丰富的教程和学习资源以及搭建开发者社区,为开发人员提供了一个全面而便捷的平台。该项目的目标是帮助开发人员提升工作效率、提高工程质量,并促进开发人员之间的交流和合作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值