#includeintmain(intargc,char*argv[]){#ifdefDEBUGprintf("DEBUG is definded \n");#elseprintf("DEBUG is not definded \n");#endif} 2. Makefile文件为: DEBUG= CFLAG= -g debug: DEBUG.c gcc $(DEBUG) $(CFLAG) -o$@$^ 3. 输入:gcc -g -o debugtest.c ./debug out: DEBUG is not ...
3. 输入: gcc -g -o debug test .c ./debug out: DEBUG is not definded 4. 输入: gcc -DDEBUG -g -o debug test .c ./debug out: DEBUG is definded 这样DEBUG版本和 release版本都有了. GCC生成32位版与64位版、debug版与release版 本文介绍了如何利用makefile条件编译来生成(64/32bit、debug...
在上述示例中,-DDEBUG定义了一个名为DEBUG的宏,并将其传递给编译器。在源代码中可以使用#ifdef或#ifndef来根据宏的定义状态进行条件编译。 如果要定义带有值的宏,可以使用等号(=)来指定宏的值。例如: gcc -DVERSION_NUMBER=123 source.c -o program 在上述示例中,宏VERSION_NUMBER被定义为123。 你还可以通过...
在Linux 下,使用 GCC 命令时,可以通过指定预处理器选项来控制预处理器的行为 -D:定义宏。使用 -D 选项可以在编译之前定义一个宏。例如,要定义一个名为 DEBUG 的宏,可以使用以下命令: gcc -DDEBUG myfile.c -o myfile 复制代码 -U:取消宏定义。使用 -U 选项可以取消之前定义的宏。例如,要取消名为 DEBUG...
-D 定义宏(D-define) -D定义宏有两种情况,一种是-DMACRO 相当于程序中使用#define MACRO 另外可以-DMACRO=A 相当于程序中使用#define MACRO A 这只是一个编绎参数,在连接时没有意义 如: $gcc -c hello.c -o hello.o -DDEBUG 上面为hello.c定义了一个DEBUG宏,某些情况下使用-D 代替直接在文件中使用...
在使用 gcc/g++ 编译的时候定义宏 常用场景: -DDEBUG 定义 DEBUG 宏,可能文件中有 DEBUG 宏部分的相关信息,用个 DDEBUG来 选择开启或关闭 #include<iostream>intmain(){#ifdefDEBUGstd::cout<<"DEBUG"<<std::endl;#endif// system("pause");return0;} ...
9. -D定义宏 # 在使用gcc/g++编译的时候定义宏 # 常用场景: # -DDEBUG 定义DEBUG宏,可能文件中有DEBUG宏部分的相关信息,用个DDEBUG来选择开启或关闭 DEBUG 注:使用 man gcc 命令可以查看gcc英文使用手册,见下图 2【实战】g++命令行编译 # 最初目录结构 . ├── include │ └── Swap.h ├── mai...
8. -D:定义宏。例如:gcc -D DEBUG=1 input_file.c 可以定义宏 DEBUG,并将其值设为1。 9. -E:仅进行预处理。使用这个选项可以将源代码进行预处理,并将预处理后的代码输出。 10. -S:仅进行编译和汇编。这个选项用于将源代码编译成汇编代码,而不生成目标文件和可执行文件。
–`-DDEBUG`:定义DEBUG宏,用于条件编译调试代码。 示例:编译并调试程序 “`bash gcc -g -DDEBUG hello.c -o hello.out “` # 5. 使用外部库 当程序依赖于外部库时,可以使用以下方法进行编译和链接: “`bash gcc [选项] [源文件] -o [输出文件] -l[库名] ...
# 如果需要指定构建类型(如 Debug 或 Release),可以使用 -DCMAKE_BUILD_TYPE 选项 cmake -DCMAKE_BUILD_TYPE=Release .. CMake 接着会输出配置过程中的详细信息,包括找到的库、定义的选项等,如果没有错误,构建系统文件将被生成到构建目录中。 (5)使用生成的构建文件进行编译和构建 使用Makefile(或类似构建...