预处理命令简介(2) 在gcc中, 可在命令行中指定对象宏的定义:
来源: 网络用户发布,如有版权联系网管删除 2016-07-09
预处理命令简介(2) 在gcc中, 可在命令行中指定对象宏的定义: e.g.
$ gcc -Wall -DMAX=100 -o tmp tmp.c
相当于在tmp.c中添加" #define MAX 100".
那么, 如果原先tmp.c中含有MAX宏的定义, 那么再在gcc调用命令中使用-DMAX, 会出现什么情况呢?
---若-DMAX=1, 则正确编译.
---若-DMAX的值被指定为不为1的值, 那么gcc会给出MAX宏被重定义的警告, MAX的值仍为1.
注意: 若在调用gcc的命令行中不显示地给出对象宏的值, 那么gcc赋予该宏默认值(1), 如: -DVAL == -DVAL=1
查看评论 回复