在源代码里面如果这样是定义的:
#ifdef MACRONAME
//可选代码
#endif
那在makefile里面
gcc -D MACRONAME=MACRODEF
或者
gcc -D MACRONAME
对于GCC编译器
-Dmacro=string,等价于在头文件中定义:#define macro string。例如:-DTRUE=true,等价于:#define TRUE true
-Dmacro,等价于在头文件中定义:#define macro 1,实际上也达到了定义:#define macro的目的。例如:-DLINUX,等价于:#define LINUX 1(与#define LINUX作用类似)。
--define-macro macro=string与-Dmacro=string作用相同。