使用gcc在命令行中预定义宏

例子

#include <stdio.h>

int main (void)
{
  int i, sum;

  for (i = 1, sum = 0; i <= 10; i++)
    {
      sum += i;
    #ifdef DEBUG
      printf ("sum += %d is %d\n", i, sum);
    #endif
    }
  printf ("total sum is %d\n", sum);

  return 0;
}

在命令行中预定义宏

针对上面的代码,我们可以通过在命令行中预定义DEBUG宏来实现调试功能。当使用gcc编译时,使用-D选项即可以在命令行中预定义宏,如:

 gcc -D DEBUG macro.c

以上定义的宏默认值为1,我们也可以设定其他值,如:

 gcc -D DEBUG=3 macro.c

除了数值,也可以设定为字符,字符串或者函数类型的宏,但要注意的是此时需要用单引号包括-D选项后面的内容,以便脚本语言识别,如:

 gcc -D 'DEBUG="debug"' macro.c
 gcc -D 'DEBUG(a)=a' macro.c

若要定义两个宏定义,则用两次-D选项就可以:

 gcc -D DEBUG -D DEBUG2 macro.c

除了可以在命令行中预定义宏外,也可以在命令行中取消宏定义,使用-U选项,如:

 gcc -U DEBUG macro.c
参与评论 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

乌托

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值