gpt4 book ai didi

c - 使用 C 预处理器递增定义?

转载 作者:太空宇宙 更新时间:2023-11-04 01:42:06 25 4
gpt4 key购买 nike

我有一个应用程序需要以分层方式在各种 .h 文件中定义索引。单个文件中有大量通用条目,还有许多被拉入特定项目的变体头文件。

在文件中:“base.h”

   #define AAA 1
#define BBB 2
#define CCC 3

在许多文件中,例如:“variant_extended.h”

   #define XXX 4
#define YYY 5
#define ZZZ 6

但是,这很麻烦,有没有一种简单的方法可以从 base.h 继续并在构建过程中自动编号定义?

我经常编辑文件以重新排序或插入新条目,这导致大量手动管理。我还需要确保数字从 0 开始并且是连续的。这些将是数组中的索引(如邮箱)。

最佳答案

扩展 Jerry 的评论:

// base.h
enum BaseCodes
{
AAA = 1,
BBB,
CCC,
FirstExtendedCode
};

// extended.h
enum ExtendedCodes
{
XXX = FirstExtendedCode,
YYY,
ZZZ
}

在这种情况下,ZZZ 保证为 6。将新成员插入枚举会自动对所有其他成员重新编号。

关于c - 使用 C 预处理器递增定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3831952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com