Makefile中-D选项定义预编译处理宏
- 1.简单示例
- 假设我们有一个简单的 C 程序
main.c
,内容如下:#include <stdio.h> #ifdef DEBUG void print_debug_info() { printf("This is debug information.\n"); } #else void print_debug_info() {} #endif int main() { print_debug_info(); printf("Program is running normally.\n"); return 0; }
- 我们希望通过
-D
选项来控制是否输出调试信息。在 Makefile 中可以这样写:# 定义一个变量,用于存储编译器名称 CC = gcc # 定义一个变量,用于存储编译选项 CFLAGS = -Wall # 调试版本的目标 debug: CFLAGS += -DDEBUG debug: $(CC) $(CFLAGS) -o debug_main main.c # 发布版本的目标 release: $(CC) $(CFLAGS) -o release_main main.c
- 解释:
- 首先定义了
CC
和CFLAGS
变量,CC
表示编译器(这里是gcc
),CFLAGS
包含了一些基本的编译选项(如-Wall
,用
- 首先定义了
原文地址:https://blog.csdn.net/Wang_anna/article/details/144131317
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!