在Makefile中我们可以通过宏定义来控制源程序的编译(条件编译)。只要在Makefile中的CFLAGS(变量名随意,一般取名CFLAGS)中通过选项-D来指定定义的宏即可。 如: CFLAGS += -D YUQIANG 在编译的时候加上此选项就可以了: $(CC) $(CFLAGS) $^ -o $@ 例如: Makefile文件内容为: CC =gccRM=rmCFLAGS+= -D YU...
这样就定义了预处理宏,编译的时候可选代码就会被编译进去了。 对于GCC编译器,有如下选项: -D macro=string,等价于在头文件中定义:#define macro string。例如:-D TRUE=true,等价于:#define TRUE true -D macro,等价于在头文件中定义:#define macro 1,实际上也达到了定义:#define macro的目的。例如:-D ...
这样就定义了预处理宏,编译的时候可选代码就会被编译进去了。 对于GCC编译器,有如下选项: -D macro=string,等价于在头文件中定义:#define macro string。例如:-D TRUE=true,等价于:#define TRUE true -D macro,等价于在头文件中定义:#define macro 1,实际上也达到了定义:#define macro的目的。例如:-D LINU...
它告诉 make 命令如何自动构建、编译和链接项目。 2.makefile -d 用法详解 接下来,我们将详细解释makefile -d 的参数含义、使用方法和实例演示。 a.参数含义 -d 选项是 makefile 的调试模式,它会在执行规则之前输出规则的详细信息,便于开发者调试和理解 Makefile 的执行过程。 b.使用方法 要使用makefile -d ...
等同于 ‘-M -MF File’,但是默认关闭了 ‘-E’ 选项. 其输出的文件名是基于 ‘-o’ 选项,若给定了 ‘-o’ 选项,则输出的文件名是 ‘-o’ 指定的文件名,并添加 .d 后缀,若没有给定,则输入的文件名作为输出的文件名,并添加.d后缀,同时继续指定的编译工作 ...
如果编译时命令为:gcc -c -DCONFIG_PI=1 test.c -o test.o 那么将会执行int var=1;语句 3、-Umacro 使用该参数后,相当于声明了#undef macro,被编译的源文件该宏都将不可见了 4、-undef 取消对任何非标准宏的定义,切勿使用该选项,会造成意想不到效果 ...
-D*表示:#define 如:-DPOSGP730等价于#define POSGP730 -Wall 表示打开所有编译告警信息 -O2表示优化级别。-Wl,-rpath,./为传递给连接器的选项,表示程序执行时的库加载路径 另:怀疑该处有误:$(INCPATH)应为-I $(INCPATH)
就是编译时把后面的参数添加到编译选项里,比如CFLAGS += -DTOSH_DATA_LENGTH=114 最后就类似调用gcc -DTOSH_DATA_LENGTH=114 xx.c 而-D是用来定义宏的,这应该知道吧?就是代码里#define那个
具体进行 Makefile debug 编译的步骤如下: (1) 在 Makefile 中设置“DEBUG”变量为“on”,例如,“DEBUG=on”; (2) 在 Makefile 中设置“CFLAGS”变量,添加调试选项“-g”,例如,“CFLAGS=-g”; (3) 保存 Makefile 文件; (4) 在命令行中,进入到 Makefile 所在的目录; (5) 执行“make”命令,进行编...