gcc编译器,加-D选项,编译时添加宏定义
gcc使用-D选项,在编译时会在可执行文件中添加宏定义。相当于添加了全局宏
-D 参数在实际开发中还是经常使用的,比如可通过定义不同的宏,实现选择性编译,编译时定义不同的宏就编译相对应的代码。
例:test.c
#include <stdio.h>
int main(void)
{
#ifdef LINUX
printf("hello world\n");
#endif
printf("666\n");
return 0;
}
1.编译时不添加任何宏:
root@qiujun:/home/qiujun/x6000test# gcc -o test test.c
运行结果:
root@qiujun:/home/qiujun/x6000test# ./test
666
可见没有输出hello world,只输出了666。
2.编译时添加-DLINUX,再运行:
root@qiujun:/home/qiujun/x6000test# gcc -o test test.c -DLINUX
root@qiujun:/home/qiujun/x6000test# ./test
hello world
666
可见输出了hello world和666。说明宏LINUX编译时被添加了!
3.编译时添加-D LINUX,再运行:
root@qiujun:/home/qiujun/x6000test# gcc -o test test.c -D LINUX
root@qiujun:/home/qiujun/x6000test# ./test
hello world
666
效果和添加-DLINUX是一样的。