gcc和Makefile的 -D -U选项

对于GCC编译器,有如下选项:
        -D macro=string,等价于在头文件中定义:#define   macro   string。例如:-D TRUE=true,等价于:#define   TRUE   true
        -D macro,等价于在头文件中定义:#define   macro   1,实际上也达到了定义:#define   macro的目的。
举例说明:
/* hello.c */
#include <stdio.h>

#ifdef YES
char* str = "Yes, this is a macro.";
#else
char* str = "No, there is no macro.";
#endif

int main()
{
  printf("%s\n", str);
  return 0;
}

# gcc -DYES -o helloyes hello.c
# ./helloyes
Yes, this is a macro.
# gcc -o hellono hello.c
# ./hellono
No, there is no macro.

另外-U选项是取消宏定义。

在Makefile文件里面,可以通过宏定义来控制源程序的编译。只要在Makefile中的CFLAGS中通过选项-D来指定定义的宏即可。

如:
CFLAGS += -DYES=1


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值