u012707739通过本文主要向大家介绍了gcc,宏等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
#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
除了可以在命令行中预定义宏外,也可以在命令行中取消宏定义,使用-U选项,如:
gcc -U DEBUG macro.c