编译前编辑宏 - gcc

问题描述 投票:0回答:1

使用gcc或类似的编译器,是否可以在编译之前在代码中递增宏?

例如,如果在 header.h 文件中我有类似的内容:

#define EXAMPLE 5

我想在编译之前,这变成:

#define EXAMPLE 6

有办法做到这一点吗?

gcc
1个回答
0
投票

没有直接的方法可以做到这一点,但是您可以:

  1. 使用某种构建脚本:例如在编译过程之前修改头文件或宏定义的bash脚本
  2. 从编译器命令行传递定义:您可以使用GCC的-D选项定义宏。这允许您覆盖源代码中指定的值,这也在代码定义之前。例如:
     gcc -D EXAMPLE=6 file.c 
    
  3. 您还可以有条件地选择值:
    #if !defined(EXAMPLE)
    #define EXAMPLE 5
    #endif
    
© www.soinside.com 2019 - 2024. All rights reserved.