概念
gcc的-D选项可以定义宏。
假设程序需要很多宏,不可能这些宏都在编译器中定义,可以说比较重要的宏才会放在gcc的D选项后边。
-Dname 定义宏name,默认定义内容为字符串“1"
-Dname=defn 定义宏name,并且内容为defn
实验
测试程序:#include <stdio.h>
int main()
{
#ifdef HELLO
printf("HELLO defined !\n");
printf("HELLO = %d\n",HELLO);
#else
printf("HELLO not define!\n");
#endif
return 0;
}
-
执行编译命令:
gcc main.c -o main
main的执行结果:
HELLO not define! -
执行编译命令:
gcc -DHELLO main -o main
main的执行结果:
HELLO defined!
HELLO = 1 -
执行编译命令:
gcc -DHELLO=36 main.c -o main
main的执行结果:
HELLO defined!
HELLO = 36