GCC -D为预编译定义了一个宏
Syntax
$ gcc -Dname [options] [source files] [-o output file]
$ gcc -Dname=definition [options] [source files] [-o output file]
example
// myfile.c
#include <stdio.h>
void main()
{
#ifdef DEBUG
printf("Debug run\n");
#else
printf("Release run\n");
#endif
}
用下面的命令行编译
$ gcc -D DEBUG myfile.c -o myfile
$ ./myfile
Debug run
$
或者
$ gcc myfile.c -o myfile
$ ./myfile
Release run
$
所以就很清楚知道gcc -D 的作用了。
转自 http://www.rapidtables.com/code/linux/gcc/gcc-d.htm