自学内容网 自学内容网

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

  • 解释:
    • 首先定义了CCCFLAGS变量,CC表示编译器(这里是gcc),CFLAGS包含了一些基本的编译选项(如-Wall,用

原文地址:https://blog.csdn.net/Wang_anna/article/details/144131317

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!