GCC编译时增加宏定义-D<标识符>,相当于#define <标识符>,可以在遇到条件编译时执行。 例子: 搭配gcc编译命令:gcc -DDEBUG -g -o main.out main.c (注意-D<标识符>应该紧跟gcc后面,-o等指令前面) main.c #include <stdio.h> //如果在gcc编译参数中定义了-DDEBUG,就相当于在代码中定义#define DEBUG ...
先看@1,因为源程序中有条件判断,是否定义了宏“MYDEBUG”,而该编译指令中刚好带了"MYDEBUG",所以就输出了“test"; 接着看@2, 编译指令中-D后是”DEBUG“,这个针对”#ifdef MYDEBUG"而言就是false,所以就不会输出“test"; 最后看@3, 编译指令中无-D选项,所以也不会输出”test"。 这样做比较,相信大家都...
gcc test.c -o test -D OPEN_PRINTF_DEBUG 或者gcc test.c -o test -DOPEN_PRINTF_DEBUG 两者都是可以的。 五、-w -w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。 六、-W和-Wall -W选项类似-Wall...
GCC编译时增加宏定义-D<标识符>,相当于#define <标识符>,可以在遇到条件编译时执行。 #ifdef <标识符> //条件编译内容 #endif 例子: 搭配gcc编译命令:gcc -DDEBUG -g -o main.out main.c (注意-D<标识符>应该紧跟gcc后面,-o等指令前面) main.c #include <stdio.h> //如果在gcc编译参数中定义了-D...
可以。-D选项用于定义一个宏变量,例如: gcc -DDEBUG file.c -o file 这将在编译时定义一个名为DEBUG的宏变量,可以在代码中使用条件编译来控制代码的行为。
利用gcc的 -DDEBUG选项。 GCC64生成32位版与64位版、debug版与release版 GCC常用参数详解 《gcc命令》http://man.linuxde.net/gcc 利用-DDEBUG选项条件编译 1. 源文件test.c中有: #includeintmain(intargc,char*argv[]){#ifdefDEBUGprintf("DEBUG is definded \n");#elseprintf("DEBUG is not definded...
gcc -D MACRONAME 这样就定义了预处理宏,编译的时候可选代码就会被编译进去了。 对于GCC编译器,有如下选项: -D macro=string,等价于在头文件中定义:#define macro string。例如:-D TRUE=true,等价于:#define TRUE true -D macro,等价于在头文件中定义:#define macro 1,实际上也达到了定义:#define macro的...
标头不是单独的编译单元。如果您通过-E标志(我认为)预编译所有文件,这可能会更有意义。这将为您留下...
1 常用的编译选项 2 其他编译选项 2.1 -x language 通常gcc通过源文件的后缀来判断该源文件是由什么语言编写的(虽然Linux中后缀没有意义),换句话说,如果我们的文件名不带后缀,那么gcc就无法判断源文件的语言类型了,也就无法完成编译。举例来说:例1我用c语言编写了一段代码,将其保存在文件名为main.lll中,执行gc...
生成给 Makefile 用的**.d 文件